Co-design at POP CoE project

CalculiX solver

Program's name: CalculiX solver
Available version(s): CalculiX solver (pthreads) · CalculiX solver (OpenMP) ·
Programming language(s): C · Fortran ·
Programming model(s): OpenMP · Posix threads ·
Uses following algorithm(s): Generalized minimal residual method (GRMRES) ·
Used in following discipline(s): Computational Fluid Dynamics ·

CalculiX is a free three dimensional structural finite element analysis program. It supports linear and non-linear calculations of static, dynamic and thermal problems. The code is written in C and Fortran. Parallelization is achieved using the pthread programming model.

Our provided test case calculates the laminar flow of air through a bent pipe. At the heart of this calculation in each timestep an iterative scheme is employed, which in each iteration solves multiple non-symmetric systems of linear equations using a GMRES solver.

This is illustrated by the following pseudo code:

for(ts=0; ts<MAX_TIME_STEPS; ts++) {
    for(n=0; n<MAX_TRANSIENT_ITERATIONS; n++) {
        solve_momentum_conservation()   // 3 linear systems solved with GMRES
        solve_mass_conservation()       // 1 linear system solved with GMRES
        solve_energy_conservation()     // 1 linear system solved with GMRES
    }
}