From: Jens L. E. <jle...@gm...> - 2013-06-24 18:51:50
|
On 06/24/2013 09:18 AM, Jens Lohne Eftang wrote: > > Do you know if I somehow have to tell hypre that I am solving a vector > problem (I'm guessing otherwise it would not be able to exploit the > elliptic structure)? > > Jens So I'm now doing this: mpirun -np 8 ./elasticity-opt --node_major_dofs -ksp_type cg -pc_type fieldsplit -pc_fieldsplit_block_size 3 -fieldsplit_pc_type hypre -fieldsplit_pc_hypre_type boomeramg -fieldsplit_pc_hypre_boomeramg_strong_threshold 0.7 -ksp_converged_reason -pc_fieldsplit_0 0,1,2 -ksp_atol 1e-6 -log_summary -ksp_monitor -pc_fieldsplit_type symmetric_multiplicative where I believe the idea is to use a block Jacobi preconditioner first, but where there are only three blocks that correspond to each of the three fields, and then within each block we apply AMG. This reduced the number of iterations from 1000+ to 71. Memory consumption is still an issue though as this requires close to 128Gb, so if anyone has experience with large problems like this and ideas on how to reduce memory footprint that would be appreciated. One question for ParallelMesh: will this work by just changing Mesh to ParallelMesh? Thanks, Jens |