just in case it helps, here's one way I have to create the near nullspace:

https://github.com/seamplex/feenox/blob/main/src/pdes/mechanical/init.c#L468

--
jeremy
________________________________
From: petsc-users <[email protected]> on behalf of Jordi Manyer 
Fuertes via petsc-users <[email protected]>
Sent: Tuesday, December 5, 2023 9:57 AM
To: Matthew Knepley <[email protected]>; [email protected] <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: [petsc-users] Help for MatNullSpaceCreateRigidBody


[External Sender]

Thanks for the prompt response. Both answers look like what I'm doing.

After playing a bit more with solver, I managed to make it run in parallel with 
different boundary conditions (full dirichlet bcs, vs mixed newmann + 
dirichlet). This raises two questions:

- How relevant are boundary conditions (eliminating dirichlet rows/cols vs weak 
newmann bcs) to the solver? Should I modify something when changing boundary 
conditions?

- Also, the solver did well with the old bcs when run in a single processor 
(but not in parallel). This seems odd, since parallel and serial behavior 
should be consistent (or not?). Could it be fault of the PCGAMG? I believe the 
default local solver is ILU, shoud I be changing it to LU or something else for 
these kind of problems?

Thank you both again,

Jordi

Reply via email to