Many thanks for your concrete replies. They are very helpful.

Best Wishes,
Xiaofeng

On Sep 27, 2022, at 20:01, Mark Adams <mfad...@lbl.gov<mailto:mfad...@lbl.gov>> 
wrote:

Shells can be pretty hard.

Start with an easy problem with well-shaped elements and probably best to start 
with a well-supported structure (eg, not a long cantilever).

You should also configure with hypre and try that. I don't know if they deal 
with shells, but it is a well developed solver.

For GAMG, you need to set the coordinates (PCSetCoordinates) which will create 
the rigid body modes for GAMG so that it can construct the rotational RBMs.
This code has not been used for shells in a long time 
(petsc/src/ksp/pc/impls/gamg/agg.c:138), but it did once work (20 years ago in 
another code).
This code constructs the 6 rigid body modes for 3D shell problems with my 
ording (6 dof, x,y,z,xx,yy,zz).

Or you can construct the RBMs yourself and set them with 
https://petsc.org/release/docs/manualpages/Mat/MatNullSpaceCreateRigidBody.html

There is some discussion here: 
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2000/CSD-00-1103.pdf

Mark


On Tue, Sep 27, 2022 at 6:20 AM 晓峰 何 
<tlan...@hotmail.com<mailto:tlan...@hotmail.com>> wrote:
Hello,

A00 comes from shell structures and discretized by FEM.

Thanks,
Xiaofeng

On Sep 27, 2022, at 17:48, Mark Adams <mfad...@lbl.gov<mailto:mfad...@lbl.gov>> 
wrote:

what equations and discetizations are in A00?

On Tue, Sep 27, 2022 at 1:45 AM 晓峰 何 
<tlan...@hotmail.com<mailto:tlan...@hotmail.com>> wrote:
Hi Barry,

A00 is formed from elliptic operator.

I tried GAMG with A00, but it was extremely slow to solve the system with 
field-split preconditioner(I’m not sure I did it with the right way).

Thanks,
Xiaofeng

On Sep 26, 2022, at 23:11, Barry Smith 
<bsm...@petsc.dev<mailto:bsm...@petsc.dev>> wrote:


  What is your A00 operator? ILU is almost never a good choice for large scale 
problems. If it is an elliptic operator that using a PC of gamg may work well 
for the A00 preconditioner instead of ILU.

  Barry

  For moderate size problems you can use a PC type LU for AOO to help you 
understand the best preconditioner to use for the A11 (the Schur complement 
block), once you have a good preconditioner for the A11 block you would then go 
back and determine a good preconditioner for the A00 block.

On Sep 26, 2022, at 10:08 AM, 晓峰 何 
<tlan...@hotmail.com<mailto:tlan...@hotmail.com>> wrote:

Hello Jed,

The saddle point is due to Lagrange multipliers, thus the size of A11 is much 
smaller than A00.



Best Regards,

Xiaofeng


On Sep 26, 2022, at 21:03, Jed Brown 
<j...@jedbrown.org<mailto:j...@jedbrown.org>> wrote:

Lagrange multipliers





Reply via email to