The snes options are not relevant since the parts of a PCFIELDSPLIT are
always linear problems.
By default PCFIELDSPLIT uses a KSP type of preonly on each split (that is
it applies the preconditioner exactly once inside the PCApply_FieldSplit()
hence the -fieldsplit_*_ksp_ options are not relevent. You can use
-fieldsplit_ksp_type gmres for example to have it use gmres on each of the
splits, but note that then you should use -ksp_type fgmres since using gmres
inside a preconditioner results in a nonlinear preconditioner.
You can always run with -ksp_view to see the solver being used and the
prefixes that currently make sense.
Barry
> On Dec 11, 2023, at 2:51 AM, 1807580692 <[email protected]> wrote:
>
> Hello, I have encountered some problems. Here are some of my configurations.
> OS Version and Type: Linux daihuanhe-Aspire-A315-55G 5.15.0-89-generic
> #99~20.04.1-Ubuntu SMP Thu Nov 2 15:16:47 UTC 2023 x86_64 x86_64 x86_64
> GNU/Linux
> PETSc Version: #define PETSC_VERSION_RELEASE 1
> #define PETSC_VERSION_MAJOR 3
> #define PETSC_VERSION_MINOR 19
> #define PETSC_VERSION_SUBMINOR 0
> #define PETSC_RELEASE_DATE "Mar 30, 2023"
> #define PETSC_VERSION_DATE "unknown"
> MPI implementation: MPICH
> Compiler and version: Gnu C
> The problem is when I type
> “mpiexec -n 4 ./ex19 -lidvelocity 100 -prandtl 0.72 -grashof 10000 -da_grid_x
> 64 -da_grid_y 64 -snes_type newtonls -ksp_type gmres -pc_type fieldsplit
> -pc_fieldsplit_type symmetric_multiplicative -pc_fieldsplit_block_size 4
> -pc_fieldsplit_0_fields 0,1,2,3 -pc_fieldsplit_1_fields 0,1,2,3
> -fieldsplit_0_pc_type asm -fieldsplit_0_pc_asm_type restrict
> -fieldsplit_0_pc_asm_overlap 5 -fieldsplit_0_sub_pc_type lu
> -fieldsplit_1_pc_type asm -fieldsplit_1_pc_asm_type restrict
> -fieldsplit_1_pc_asm_overlap 5 -fieldsplit_1_sub_pc_type lu -snes_monitor
> -snes_converged_reason -fieldsplit_0_ksp_atol 1e-10 -fieldsplit_1_ksp_atol
> 1e-10 -fieldsplit_0_ksp_rtol 1e-6 -fieldsplit_1_ksp_rtol 1e-6
> -fieldsplit_0_snes_atol 1e-10 -fieldsplit_1_snes_atol 1e-10
> -fieldsplit_0_snes_rtol 1e-6 -fieldsplit_1_snes_rtol 1e-6”
> in the command line, where my path is /petsc/src/snes/tutorials.
>
> It returns
> “WARNING! There are options you set that were not used!
> WARNING! could be spelling mistake, etc!
> There are 8 unused database options. They are:
> Option left: name:-fieldsplit_0_ksp_atol value: 1e-10 source: command line
> Option left: name:-fieldsplit_0_ksp_rtol value: 1e-6 source: command line
> Option left: name:-fieldsplit_0_snes_atol value: 1e-10 source: command line
> Option left: name:-fieldsplit_0_snes_rtol value: 1e-6 source: command line
> Option left: name:-fieldsplit_1_ksp_atol value: 1e-10 source: command line
> Option left: name:-fieldsplit_1_ksp_rtol value: 1e-6 source: command line
> Option left: name:-fieldsplit_1_snes_atol value: 1e-10 source: command line
> Option left: name:-fieldsplit_1_snes_rtol value: 1e-6 source: command line”.
> Please tell me what should I do?Thank you very much.
>
> 1807580692
> [email protected]
>
> <https://wx.mail.qq.com/home/index?t=readmail_businesscard_midpage&nocheck=true&name=1807580692&icon=http%3A%2F%2Fthirdqq.qlogo.cn%2Fg%3Fb%3Dsdk%26k%3DsDkxrKtOBYniaVteAHHIz5g%26s%3D100%26t%3D1647684318%3Frand%3D1648799506&mail=1807580692%40qq.com&code=>
>