Run with -help
On 17 July 2014 00:07, Sun, Hui <[email protected]> wrote: > Thank you Dave, it does solve the problem. Another question is: since > some options like > > -fieldsplit_0_pc_type > > does not show up if I type > > ./ex70 -help > > how then can I have a complete list of all the options? > > Best, > Hui > > > ------------------------------ > *From:* Dave May [[email protected]] > *Sent:* Wednesday, July 16, 2014 2:57 PM > *To:* Sun, Hui > *Cc:* Matthew Knepley; [email protected] > > *Subject:* Re: [petsc-users] why a certain option cannot be used > > You need to specify on the command line > -pc_type fieldsplit -fieldsplit_0_pc_type xxx -fieldsplit_1_pc_type yyy > > Where xxx and yyy are the desired preconditioners for the (1,1) block > and (2,2) block. Note that the default PC (ilu(0)) applied to both splits > will fail for this example. > > The comments in the code are misleading and incorrect. Without the > option -pc_type fieldsplit, all fieldsplit options have no effect. > > When debugging solvers, always run with - ksp_view (as Matt recommends) > > > > On Wednesday, 16 July 2014, Sun, Hui <[email protected]> wrote: > >> No I don't think I'm using fieldsplitting although I want to use it. >> The output of >> >> ./ex70 -nx 32 -ny 48 -fieldsplit_1_pc_type jacobi -ksp_view >> >> is the following: >> >> KSP Object: 1 MPI processes >> >> type: gmres >> >> GMRES: restart=30, using Classical (unmodified) Gram-Schmidt >> Orthogonalization with no iterative refinement >> >> GMRES: happy breakdown tolerance 1e-30 >> >> maximum iterations=10000, initial guess is zero >> >> tolerances: relative=1e-05, absolute=1e-50, divergence=10000 >> >> left preconditioning >> >> using PRECONDITIONED norm type for convergence test >> >> PC Object: 1 MPI processes >> >> type: none >> >> linear system matrix = precond matrix: >> >> Matrix Object: 1 MPI processes >> >> type: nest >> >> rows=4608, cols=4608 >> >> Matrix object: >> >> type=nest, rows=2, cols=2 >> >> MatNest structure: >> >> (0,0) : prefix="a00_", type=mpiaij, rows=3072, cols=3072 >> >> (0,1) : prefix="a01_", type=mpiaij, rows=3072, cols=1536 >> >> (1,0) : prefix="a10_", type=mpiaij, rows=1536, cols=3072 >> >> (1,1) : prefix="a11_", type=mpiaij, rows=1536, cols=1536 >> >> residual u = 2.6315e-05 >> >> residual p = 0.000229872 >> >> residual [u,p] = 0.000231373 >> >> discretization error u = 0.00633503 >> >> discretization error p = 0.121534 >> >> discretization error [u,p] = 0.121699 >> >> WARNING! There are options you set that were not used! >> >> WARNING! could be spelling mistake, etc! >> >> Option left: name:-fieldsplit_1_pc_type value: jacobi >> >> >> ------------------------------ >> *From:* Sun, Hui >> *Sent:* Wednesday, July 16, 2014 2:40 PM >> *To:* Matthew Knepley >> *Cc:* [email protected] <http://UrlBlockedError.aspx> >> *Subject:* RE: [petsc-users] why a certain option cannot be used >> >> Thank you Matt. I've corrected it to >> >> ./ex70 -nx 32 -ny 48 -fieldsplit_1_pc_type jacobi >> >> >> However the output is still: >> >> >> residual u = 2.6315e-05 >> >> residual p = 0.000229872 >> >> residual [u,p] = 0.000231373 >> >> discretization error u = 0.00633503 >> >> discretization error p = 0.121534 >> >> discretization error [u,p] = 0.121699 >> >> WARNING! There are options you set that were not used! >> >> WARNING! could be spelling mistake, etc! >> >> Option left: name:-fieldsplit_1_pc_type value: jacobi >> >> >> If I type >> >> >> ./ex70 -help | grep fieldsplit_1_ >> >> >> the output is that nothing coming out. >> >> >> >> >> >> ------------------------------ >> *From:* Matthew Knepley [[email protected] <http://UrlBlockedError.aspx>] >> *Sent:* Wednesday, July 16, 2014 2:32 PM >> *To:* Sun, Hui >> *Cc:* [email protected] <http://UrlBlockedError.aspx> >> *Subject:* Re: [petsc-users] why a certain option cannot be used >> >> On Wed, Jul 16, 2014 at 4:25 PM, Matthew Knepley <[email protected] >> <http://UrlBlockedError.aspx>> wrote: >> >>> On Wed, Jul 16, 2014 at 4:22 PM, Sun, Hui <[email protected] >>> <http://UrlBlockedError.aspx>> wrote: >>> >>>> Thank you Matt for answering, however even with that I don't think it >>>> works. For example, the command >>>> >>>> ./ex70 -nx 32 -ny 48 -fieldsplit_1_type jacobi >>>> >>> >>> You have mistyped. Look carefully at my last message: >>> >>> -fieldsplit_1_pc_type jacobi >>> >> >> I also want to note that you can see all the available options with >> -help. It does produce >> a lot of output, but you can segregate it by prefix ("fieldsplit_1_"). >> You can also see the >> prefix of each solver component using -ksp_view. >> >> Matt >> >> >>> Matt >>> >>> >>>> gives me the following output >>>> >>>> >>>> residual u = 2.6315e-05 >>>> >>>> residual p = 0.000229872 >>>> >>>> residual [u,p] = 0.000231373 >>>> >>>> discretization error u = 0.00633503 >>>> >>>> discretization error p = 0.121534 >>>> >>>> discretization error [u,p] = 0.121699 >>>> >>>> WARNING! There are options you set that were not used! >>>> >>>> WARNING! could be spelling mistake, etc! >>>> >>>> Option left: name:-fieldsplit_1_type value: jacobi >>>> >>>> >>>> Furthermore, if I look into the possible options with keyword >>>> fieldsplit involved by the command: >>>> >>>> >>>> ./ex70 -help | grep -A5 fieldsplit >>>> >>>> >>>> I get this output: >>>> >>>> >>>> eisenstat ilu icc cholesky asm gasm ksp composite redundant nn mat >>>> fieldsplit galerkin exotic hmpi asa cp lsc redistribute svd gamg tfs >>>> (PCSetType) >>>> >>>> -pc_use_amat: <FALSE> use Amat (instead of Pmat) to define >>>> preconditioner in nested inner solves (PCSetUseAmat) >>>> >>>> Krylov Method (KSP) options >>>> ------------------------------------------------- >>>> >>>> -ksp_type <gmres>: Krylov method (one of) cg groppcg pipecg cgne nash >>>> stcg gltr richardson >>>> >>>> chebyshev gmres tcqmr bcgs ibcgs fbcgs fbcgsr bcgsl cgs tfqmr cr >>>> pipecr lsqr preonly qcg bicg fgmres minres symmlq lgmres lcd gcr pgmres >>>> specest dgmres (KSPSetType) >>>> >>>> -ksp_max_it <10000>: Maximum number of iterations (KSPSetTolerances) >>>> >>>> >>>> So I don't see any option that's similar to -fieldsplit_1_type. >>>> >>>> >>>> Hui >>>> >>>> >>>> >>>> ------------------------------ >>>> *From:* Matthew Knepley [[email protected] >>>> <http://UrlBlockedError.aspx>] >>>> *Sent:* Wednesday, July 16, 2014 2:16 PM >>>> *To:* Sun, Hui >>>> *Cc:* [email protected] <http://UrlBlockedError.aspx> >>>> *Subject:* Re: [petsc-users] why a certain option cannot be used >>>> >>>> On Wed, Jul 16, 2014 at 4:09 PM, Sun, Hui <[email protected] >>>> <http://UrlBlockedError.aspx>> wrote: >>>> >>>>> I want to solve Stokes equation using user defined schur complement >>>>> preconditioner. So I'm reading and testing snes/examples/tutorial/ex55.c, >>>>> and ex70.c. In these examples, there are comments about the usage, for >>>>> example: >>>>> >>>>> mpiexec -n 2 ./stokes -nx 32 -ny 48 -fieldsplit_1_user_pc. >>>>> >>>>> However the option -fieldsplit_1_user_pc is not recognized by the >>>>> executable. The output of the above command is: >>>>> >>>> >>>> This ("user_pc") is just a mnemonic. What it means is that you can >>>> use any PC in this slot. What he should have written is >>>> >>>> -fieldsplit_1_pc_type <user pc> >>>> >>>> Thanks, >>>> >>>> Matt >>>> >>>> >>>>> residual u = 2.6315e-05 >>>>> >>>>> residual p = 0.000229872 >>>>> >>>>> residual [u,p] = 0.000231373 >>>>> >>>>> discretization error u = 0.00633503 >>>>> >>>>> discretization error p = 0.121534 >>>>> >>>>> discretization error [u,p] = 0.121699 >>>>> >>>>> WARNING! There are options you set that were not used! >>>>> >>>>> WARNING! could be spelling mistake, etc! >>>>> >>>>> Option left: name:-fieldsplit_1_user_pc (no value) >>>>> >>>>> >>>>> I'm wondering what's going on. Is that because I need some specific >>>>> options during my configuring of the package? By the way, the version of >>>>> PETSc I'm using is 3.4.4. >>>>> >>>>> >>>>> Best, >>>>> >>>>> Hui >>>>> >>>> >>>> >>>> >>>> -- >>>> What most experimenters take for granted before they begin their >>>> experiments is infinitely more interesting than any results to which their >>>> experiments lead. >>>> -- Norbert Wiener >>>> >>> >>> >>> >>> -- >>> What most experimenters take for granted before they begin their >>> experiments is infinitely more interesting than any results to which their >>> experiments lead. >>> -- Norbert Wiener >>> >> >> >> >> -- >> What most experimenters take for granted before they begin their >> experiments is infinitely more interesting than any results to which their >> experiments lead. >> -- Norbert Wiener >> >
