[petsc-users] why a certain option cannot be used

Karl Rupp rupp at iue.tuwien.ac.at
Fri Jul 18 05:55:53 CDT 2014


Hi Christiaan,

thanks, I updated the documentation here:
https://bitbucket.org/petsc/petsc/commits/35a2f1ba208ddbb74d657014264e2a9c06170dbe

Best regards,
Karli


On 07/17/2014 08:41 AM, Klaij, Christiaan wrote:
> Just for future reference, below are the correct comments that
> should be at the top of ex70.
>
> (Jed, Matt, I sent these to the maintainer list a long time
> ago ([petsc-maint #155997]), but you never put them in, it would
> avoid a lot of confusion)
>
> /* Poiseuille flow problem.                                                   */
> /*                                                                            */
> /* Viscous, laminar flow in a 2D channel with parabolic velocity              */
> /* profile and linear pressure drop, exact solution of the 2D Stokes          */
> /* equations.                                                                 */
> /*                                                                            */
> /* Discretized with the cell-centered finite-volume method on a               */
> /* Cartesian grid with co-located variables. Variables ordered as             */
> /* [u1...uN v1...vN p1...pN]^T. Matrix [A00 A01; A10, A11] solved with        */
> /* PCFIELDSPLIT. Lower factorization is used to mimick the Semi-Implicit      */
> /* Method for Pressure Linked Equations (SIMPLE) used as preconditioner       */
> /* instead of solver.                                                         */
> /*                                                                            */
> /* Disclaimer: does not contain the pressure-weighed interpolation            */
> /* method needed to suppress spurious pressure modes in real-life             */
> /* problems.                                                                  */
> /*                                                                            */
> /* usage:                                                                     */
> /*                                                                            */
> /* mpiexec -n 2 ./ex70 -nx 32 -ny 48 -ksp_type fgmres -pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_schur_fact_type lower -fieldsplit_1_pc_type none
> /*                                                                            */
> /*   Runs with PCFIELDSPLIT on 32x48 grid, no PC for the Schur                */
> /*   complement because A11 is zero. FGMRES is needed because                 */
> /*   PCFIELDSPLIT is a variable preconditioner.                               */
> /*                                                                            */
> /* mpiexec -n 2 ./ex70 -nx 32 -ny 48 -ksp_type fgmres -pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_schur_fact_type lower -user_pc
> /*                                                                            */
> /*   Same as above but with user defined PC for the true Schur                */
> /*   complement. PC based on the SIMPLE-type approximation (inverse of        */
> /*   A00 approximated by inverse of its diagonal).                            */
> /*                                                                            */
> /* mpiexec -n 2 ./ex70 -nx 32 -ny 48 -ksp_type fgmres -pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_schur_fact_type lower -user_ksp
> /*                                                                            */
> /*   Replace the true Schur complement with a user defined Schur              */
> /*   complement based on the SIMPLE-type approximation. Same matrix is        */
> /*   used as PC.                                                              */
> /*                                                                            */
> /* mpiexec -n 2 ./ex70 -nx 32 -ny 48 -ksp_type fgmres -pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_schur_fact_type lower -fieldsplit_0_ksp_type gmres -fieldsplit_0_pc_type bjacobi -fieldsplit_1_pc_type jacobi -fieldsplit_1_inner_ksp_type preonly -fieldsplit_1_inner_pc_type jacobi -fieldsplit_1_upper_ksp_type preonly -fieldsplit_1_upper_pc_type jacobi
> /*                                                                            */
> /*   Out-of-the-box SIMPLE-type preconditioning. The major advantage          */
> /*   is that the user neither needs to provide the approximation of           */
> /*   the Schur complement, nor the corresponding preconditioner.
>
>
>
> dr. ir. Christiaan Klaij
> CFD Researcher
> Research & Development
> E mailto:C.Klaij at marin.nl
> T +31 317 49 33 44
>
>
> MARIN
> 2, Haagsteeg, P.O. Box 28, 6700 AA Wageningen, The Netherlands
> T +31 317 49 39 11, F +31 317 49 32 45, I www.marin.nl
>



More information about the petsc-users mailing list