Skip to content

Commit 5e949c7

Browse files
alistairbntlcekees
authored andcommitted
Add a petsc options template for PCD preconditioner with AMG settings (#969)
1 parent 5599ee7 commit 5e949c7

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# THIS IS A SAMPLE PETSC OPTIONS FILE FOR A NSE SCHUR COMPLEMENT
2+
# SOLVER WITH THE TWO-PHASE PCD METHOD THAT USES AMG
3+
4+
# NOTE - THIS IS NOT A BLACK BOX PRECONDITIONER, THESE SETTINGS
5+
# MAY REQUIRE SOME MODIFICATIONS TO BE EFFECTIVE FOR ANY GIVEN
6+
# PROBLEM
7+
8+
# set petsc ksp object and preconditioner
9+
-log_view
10+
-rans2p_ksp_type fgmres
11+
-rans2p_ksp_gmres_restart 500
12+
-rans2p_ksp_atol 1e-20
13+
-rans2p_ksp_rtol 1e-6
14+
-rans2p_ksp_gmres_modifiedgramschmidt
15+
-rans2p_ksp_pc_side right
16+
17+
# pc options
18+
-rans2p_pc_fieldsplit_type schur
19+
-rans2p_pc_fieldsplit_schur_fact_type upper
20+
-rans2p_pc_fieldsplit_schur_precondition user
21+
22+
# direct solver for velocity block - ksp options
23+
-rans2p_fieldsplit_velocity_ksp_type gmres
24+
-rans2p_fieldsplit_velocity_ksp_pc_side right
25+
-rans2p_fieldsplit_velocity_ksp_gmres_modifiedgramschmidt
26+
#-rans2p_fieldsplit_velocity_ksp_view
27+
-rans2p_fieldsplit_velocity_ksp_atol 1e-3
28+
-rans2p_fieldsplit_velocity_ksp_rtol 1e-3
29+
30+
#-rans2p_fieldsplit_velocity_fieldsplit_u_ksp_monitor_true_residual
31+
-rans2p_fieldsplit_velocity_fieldsplit_u_ksp_type preonly
32+
#-rans2p_fieldsplit_velocity_fieldsplit_u_ksp_type gmres
33+
#-rans2p_fieldsplit_velocity_fieldsplit_u_ksp_gmres_modifiedgramschimdt
34+
#-rans2p_fieldsplit_velocity_fieldsplit_u_pc_type lu
35+
#-rans2p_fieldsplit_velocity_fieldsplit_u_pc_factor_mat_solver_type superlu_dist
36+
-rans2p_fieldsplit_velocity_fieldsplit_u_pc_type hypre
37+
-rans2p_fieldsplit_velocity_fieldsplit_u_pc_hypre_type boomeramg
38+
-rans2p_fieldsplit_velocity_fieldsplit_u_pc_hypre_boomeramg_coarsen_type HMIS
39+
40+
#-rans2p_fieldsplit_velocity_fieldsplit_v_ksp_monitor_true_residual
41+
-rans2p_fieldsplit_velocity_fieldsplit_v_ksp_type preonly
42+
#-rans2p_fieldsplit_velocity_fieldsplit_v_ksp_type gmres
43+
#-rans2p_fieldsplit_velocity_fieldsplit_v_ksp_gmres_modifiedgramschimdt
44+
#-rans2p_fieldsplit_velocity_fieldsplit_v_pc_type lu
45+
#-rans2p_fieldsplit_velocity_fieldsplit_v_pc_factor_mat_solver_type superlu_dist
46+
-rans2p_fieldsplit_velocity_fieldsplit_v_pc_type hypre
47+
-rans2p_fieldsplit_velocity_fieldsplit_v_pc_hypre_type boomeramg
48+
-rans2p_fieldsplit_velocity_fieldsplit_v_pc_hypre_boomeramg_coarsen_type HMIS
49+
50+
#-rans2p_fieldsplit_velocity_fieldsplit_w_ksp_monitor_true_residual
51+
-rans2p_fieldsplit_velocity_fieldsplit_w_ksp_type preonly
52+
#-rans2p_fieldsplit_velocity_fieldsplit_w_ksp_type gmres
53+
#-rans2p_fieldsplit_velocity_fieldsplit_w_ksp_gmres_modifiedgramschimdt
54+
#-rans2p_fieldsplit_velocity_fieldsplit_w_pc_type lu
55+
#-rans2p_fieldsplit_velocity_fieldsplit_w_pc_factor_mat_solver_type superlu_dist
56+
-rans2p_fieldsplit_velocity_fieldsplit_w_pc_type hypre
57+
-rans2p_fieldsplit_velocity_fieldsplit_w_pc_hypre_type boomeramg
58+
-rans2p_fieldsplit_velocity_fieldsplit_w_pc_hypre_boomeramg_coarsen_type HMIS
59+
60+
# pressure block options
61+
-rans2p_fieldsplit_pressure_ksp_type preonly
62+
63+
-innerTPPCDsolver_Qp_visc_ksp_type preonly
64+
-innerTPPCDsolver_Qp_visc_pc_type lu
65+
-innerTPPCDsolver_Qp_visc_pc_factor_mat_solver_type superlu_dist
66+
67+
-innerTPPCDsolver_Qp_dens_ksp_type preonly
68+
-innerTPPCDsolver_Qp_dens_pc_type lu
69+
-innerTPPCDsolver_Qp_dens_pc_factor_mat_solver_type superlu_dist
70+
71+
-innerTPPCDsolver_Ap_rho_ksp_type richardson
72+
-innerTPPCDsolver_Ap_rho_ksp_max_it 1
73+
# CAREFUL WITH THE FOLLOWING SETTING, MAY NOT BE APPROPRIATE FOR
74+
# INFLOW-OUTFLOW PROBLEMS
75+
-innerTPPCDsolver_Ap_rho_ksp_constant_null_space
76+
-innerTPPCDsolver_Ap_rho_pc_type hypre
77+
-innerTPPCDsolver_Ap_rho_pc_hypre_type boomeramg
78+
-innerTPPCDsolver_Ap_rho_pc_hypre_boomeramg_strong_threshold 0.5
79+
-innerTPPCDsolver_Ap_rho_pc_hypre_boomeramg_interp_type ext+i-cc
80+
-innerTPPCDsolver_Ap_rho_pc_hypre_boomeramg_coarsen_type HMIS
81+
-innerTPPCDsolver_Ap_rho_pc_hypre_boomeramg_agg_nl 2

0 commit comments

Comments
 (0)