The aforementioned performance tests has a solver setup for elasticity: GitHub - FEniCS/performance-test: Mini App for FEniCSx performance testing
That being said, 1 million dofs is a small problem in terms of scalability. People don’t agree on the exact number of dofs per process, but it is usually in the range of 100 000-1000 000 per process.
Everything that Nate says is correct.
A few other notes:
- you are using mumps and a linear problem, the the matrix should be assembled and factorised once, not reassembled with each time.
- various posts on performance already exists, such as:
How to further speed up the calculation in doflinx? - #6 by dokken
Multiprocessing FEniCSx making simulation slower - #6 by dokken - Nate has a nice paper on performance of multigrid: Scalable computation of thermomechanical turbomachinery problems - ScienceDirect