idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.76k stars 1.05k forks source link

Support Petsc ASPIN solver #22239

Open lindsayad opened 2 years ago

lindsayad commented 2 years ago

To-do

Those function pointers are members of the _DMOps struct defined in dmimpl.h

This is an interesting comment for the DA domain decomposition scatters:

/*                                                                                                                    
   Fills the local vector problem on the subdomain from the global problem.                                           

   Right now this assumes one subdomain per processor.                                                                

*/
PetscErrorCode DMCreateDomainDecompositionScatters_DA(DM dm, PetscInt nsubdms, DM *subdms, VecScatter **iscat, VecScatter **oscat, VecScatter **lscat);

I don't think we would want this assumption if, for instance, we wanted to decompose our domain such that our "subdomains" corresponded to different variables.

Discussed in https://github.com/idaholab/moose/discussions/22160

Originally posted by **andrembcosta** September 21, 2022 Hi there, I came across a paper where an Additive Schwartz nonlinear preconditioner is used for phase-field fracture problems and it seems to work quite well. Apparently, this type of nonlinear preconditioner already exists in petsc. (https://petsc.org/release/docs/manualpages/SNES/SNESASPIN.html) Has someone used this specific solver within moose? I am interested in trying it out, but I couldn't find an example with the syntax on how to define the blocks and how to modify the residual computation (to account for the nonlinear preconditioner). I just observed that the author of the paper asked this question in early 2019 (https://groups.google.com/g/moose-users/c/w19VwqHtspU/m/cvzpirFABQAJ). paper: https://www.researchgate.net/publication/359439046_Nonlinear_Field-split_Preconditioners_for_Solving_Monolithic_Phase-field_Models_of_Brittle_Fracture
dschwen commented 1 year ago

Tag @ChaitanyaBhave-e