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
}
}