I am trying to solve the Stokes equation with the Brinkman term to simulate a 
solid material. My intention is to implement the preconditioner in this paper: 
https://onlinelibrary.wiley.com/doi/epdf/10.1002/fld.426<https://onlinelibrary.wiley.com/doi/epdf/10.1002/fld.426section%202.6>
 (section 2.6) where they solve for the velocity and substitute that expression 
in the pressure equation. They end up solving a system of the type B K^-1 B^T, 
i.e. the Schur complement of the problem. For this system of equations, they 
argue that the preconditioner in page 11 is perfect for a given constant 
Brinkman penalty term.

Because I am solving for velocity and pressure without doing any substitution, 
I thought I could use a PC fieldsplit type Schur (full factorization) and 
provide the preconditioner in the paper to solve the Schur complement. My 
question is, should I provide this preconditioner through 
PCFieldSplitSetSchurPre or through fieldsplit_1_pc_type (probably through the 
Firedrake interface as in 
https://www.firedrakeproject.org/demos/stokes.py.html) ?

Thanks
Miguel

Miguel A. Salazar de Troya
Postdoctoral Researcher, Lawrence Livermore National Laboratory
B141
Rm: 1085-5
Ph: 1(925) 422-6411

Reply via email to