Extension of parallelism to modal computation

14 June 2011

by O. Boiteau, EDF R&D / SINETICS

The study of vibrations of a structure or the search of its buckling modes requires the resolution of a modal problem.

According to the considered case (presence of damping, gyroscopic effects, computation of buckling), Code_Aster proposes various strategies via generic operators MODE_ITER_SIMULT and MODE_ITER_INV, the operators of global resolution CALC_MODAL/MACRO_MODE_MECA and options CRIT_FLAMB/MODE_VIBR of STAT_NON_LINE and DYNA_NON_LINE. Within each of these commands are located calls to the functionalities of resolution of linear systems, which can consume large volumes of memory and CPU time for the models of big size.

To make it possible to save memory and time CPU, it is now possible to exploit parallelism within the modal operators. By choosing solver MUMPS in the key word SOLVER, these operators take benefits from the same improvements in term of parallelism as their cousins of the (quasi) static mechanics!

Figure 1 : Evolution of time and the memory with the number of processes

Thus on the case test of Code_Aster perf013, the use of solver MUMPS on 16 processors gets to gains of about 60% in user time and of 40% in RAM memory (figure 1). These gains are interesting but remain modest because parallelism relates to only 50% of the operations carried out in the modal algorithms (those related to the linear solver). This work will continue by extending this parallel perimeter via the use of modal calculation algorithms natively parallel (packages PARPACK, SLEPc…).

For more information on the use of parallelism, on the analysis of the performances of a computation and on the runways of improvements, one will be able to consult, in addition to two dedicated documentations “linear solvers” already quoted, the U2.08.06 notes and U1.03.03.