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:[email protected] 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
