

FrontISTR is an open-source large-scale parallel finite element method structural analysis software. It provides analysis capabilities necessary for industrial and academic practical work, including nonlinear deformation stress, eigenvalue, frequency response, and heat conduction analyses with material nonlinearity, large deformation, and contact. The license is MIT License.
Key Features
- Large-scale Parallel: MPI (distributed memory) + OpenMP (shared memory)
- GPU Acceleration: NVIDIA GPU support via OpenACC
- Analysis Types
- Static analysis, dynamic analysis (implicit/explicit methods)
- Large deformation, contact, nonlinear materials (elastoplastic, hyperelastic, creep, viscoelastic, etc.)
- Eigenvalue analysis
- Frequency response analysis
- Heat conduction analysis (steady-state/transient)
- Solvers: CG / PipeCG / GroppCG / BiCGSTAB / GMRES / GPBiCG / Direct methods (MUMPS / MKL PARDISO)
- Preconditioners: SSOR / ILU(0) / AMG (Trilinos-ML), etc.
- Element Library: 1st/2nd order solid (TET/PRISM/HEX), plane (triangular/quadrilateral), beam, shell, truss elements, etc.
- Visualization: Compatible with ParaView and other tools
System Requirements & Dependencies
- Compilers: C/C++/Fortran90 (GCC / Clang / Intel oneAPI, etc.)
- Required Libraries for Parallel Computing
- MPI (Open MPI / MPICH, etc.)
- METIS (domain decomposition)
- For GPU Acceleration
- NVIDIA HPC SDK (NVIDIA compilers, profilers, etc.)
- NVIDIA HPC-X (communication libraries, recommended)
- Optional Libraries
- BLAS/LAPACK (used in some features. OpenBLAS/MKL, etc.)
- MUMPS (parallel direct solver) + ScaLAPACK (required for MUMPS)
- Trilinos-ML (AMG preconditioning)
- Intel MKL (parallel direct solver with MKL PARDISO)
Build (CMake)
mkdir build && cd build
cmake ..
make -j$(nproc)
Note:
- For a GPU build, make sure to specify the NVIDIA compilers.
For MPI builds, CMake runs a small program to identify the MPI implementation and select MKL BLACS for Cluster PARDISO. On systems where MPI programs cannot run directly (for example, HPC login nodes), disable this probe and specify the matching LP64 BLACS library:
cmake .. -DMPI_DETERMINE_LIBRARY_VERSION=OFF \
-DMKLBLACS_LIBRARY=/path/to/libmkl_blacs_openmpi_lp64.so
The probe is disabled when cross-compiling. Explicit MKL_LIBRARIES settings are preserved and must include any required BLACS link options. Use a fresh build directory when updating previously cached MKL library settings.
Execution
Single Domain (Thread Parallel)
# In the directory where input files are located
fistr1
Domain Decomposition (MPI Parallel)
hecmw_part1 # Mesh partitioning
mpirun -n 4 fistr1 # Execute with 4 parallel processes
Visualization & Pre/Post Processing
Binary Distributions
Download site:
https://www.frontistr.com/download/
Contributing
- Issues and Merge Requests (MR) are accepted on the GitLab side.
- When proposing changes, please refer to
CONTRIBUTING.md and various templates (issues, MR).
License
- Main software: MIT License (see
License.txt in the repository)
- Integration libraries (METIS/MUMPS/Trilinos-ML/MKL, etc.) follow their respective licenses.
Acknowledgments
FrontISTR is continuously developed by a development community (FrontISTR Commons) consisting of universities, research institutions, and companies. We appreciate the support from related research and development projects (innovative simulation software, etc.).
The porting to the GPU was carried out with the support of the Information Technology Center, the University of Tokyo.