[petsc-users] Solve Linear System with Field Split Preconditioner

Mark Adams mfadams at lbl.gov
Tue Sep 27 07:01:25 CDT 2022


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 晓峰 何 <tlanyan at hotmail.com> wrote:

> Hello,
>
> A00 comes from shell structures and discretized by FEM.
>
> Thanks,
> Xiaofeng
>
> On Sep 27, 2022, at 17:48, Mark Adams <mfadams at lbl.gov> wrote:
>
> what equations and discetizations are in A00?
>
> On Tue, Sep 27, 2022 at 1:45 AM 晓峰 何 <tlanyan at 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 <bsmith at 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, 晓峰 何 <tlanyan at 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 <jed at jedbrown.org> wrote:
>>
>> Lagrange multipliers
>>
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220927/89729afa/attachment.html>


More information about the petsc-users mailing list