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
