You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A brief description of the available options in PFLARE is given below and their default values.
All options can be set either through command line arguments or programmatically via the routine names listed in the table below. In Python (via the pflare module), each routine is available under a snake_case name: for example, PCAIRSetZType → pflare.pcair_set_z_type, PCAIRGetPolyOrder → pflare.pcair_get_poly_order. The complete list of Python names and the associated enum constants (e.g. PFLAREINV_ARNOLDI, AIR_Z_LAIR, CF_PMISR_DDC) are defined in python/pflare.py.
PCPFLAREINV
Command line
Routine
Description
Default
-pc_pflareinv_type
PCPFLAREINVGetType PCPFLAREINVSetType
The inverse type, given above
arnoldi
-pc_pflareinv_poly_order
PCPFLAREINVGetPolyOrder PCPFLAREINVSetPolyOrder
If using a polynomial inverse type, this determines the order of the polynomial
What factor to reduce the number of active MPI ranks by each time when doing processor agglomeration
2
-pc_air_process_eq_limit
PCAIRGetProcessEqLimit PCAIRSetProcessEqLimit
If on average there are fewer than this number of equations per rank processor agglomeration will be triggered
50
-pc_air_subcomm
PCAIRGetSubcomm PCAIRSetSubcomm
If computing a polynomial inverse with type arnoldi or newton and we have performed processor agglomeration, we can exclude the MPI ranks with no non-zeros from reductions in parallel by moving onto a subcommunicator
false
CF splitting options
Command line
Routine
Description
Default
-pc_air_cf_splitting_type
PCAIRGetCFSplittingType PCAIRSetCFSplittingType
The type of CF splitting to use, given above
pmisr_ddc
-pc_air_strong_threshold
PCAIRGetStrongThreshold PCAIRSetStrongThreshold
The strong threshold to use in the CF splitting
0.5
-pc_air_max_luby_steps
PCAIRGetMaxLubySteps PCAIRSetMaxLubySteps
If using CF splitting type pmisr_ddc, diag_dom, pmis, or pmis_dist2, this is the maximum number of Luby steps to use. If negative, use as many steps as necessary
-1
-pc_air_ddc_its
PCAIRGetDDCIts PCAIRSetDDCIts
If using CF splitting type pmisr_ddc, this is the number of iterations of DDC performed
1
-pc_air_ddc_fraction
PCAIRGetDDCFraction PCAIRSetDDCFraction
If using CF splitting type pmisr_ddc, this is the local fraction of F points to convert to C points based on diagonal dominance. If negative, any row which has a diagonal dominance ratio less than the absolute value will be converted from F to C
0.1
Approximate inverse options
Command line
Routine
Description
Default
-pc_air_inverse_type
PCAIRGetInverseType PCAIRSetInverseType
The inverse type, given above
arnoldi
-pc_air_poly_order
PCAIRGetPolyOrder PCAIRSetPolyOrder
If using a polynomial inverse type, this determines the order of the polynomial
Up and down smoothing on all points at once, rather than only down F and C smoothing which is the default
false
-pc_air_c_inverse_type
PCAIRGetCInverseType PCAIRSetCInverseType
The inverse type for the C smooth, given above. If unset this defaults to the same as the F point smoother
-pc_air_inverse_type
-pc_air_c_poly_order
PCAIRGetCPolyOrder PCAIRSetCPolyOrder
If using a polynomial inverse type, this determines the order of the polynomial for the C smooth. If unset this defaults to the same as the F point smoother
Use a one-point classical prolongator, instead of an approximate ideal prolongator
true
-pc_air_symmetric
PCAIRGetSymmetric PCAIRSetSymmetric
Do we define our prolongator as R^T?
false
-pc_air_strong_r_threshold
PCAIRGetStrongRThreshold PCAIRSetStrongRThreshold
Threshold to drop when forming the grid-transfer operators
0.0
-pc_air_z_type
PCAIRGetZType PCAIRSetZType
Type of grid-transfer operator, see above
product
-pc_air_lair_distance
PCAIRGetLairDistance PCAIRSetLairDistance
If Z type is lair or lair_sai, this defines the distance of the grid-transfer operators
2
-pc_air_constrain_w
PCAIRGetConstrainW PCAIRSetConstrainW
Apply constraints to the prolongator. If enabled, by default it will smooth the constant vector and force the prolongator to interpolate it exactly. Can use MatSetNearNullSpace to give other vectors
false
-pc_air_constrain_z
PCAIRGetConstrainZ PCAIRSetConstrainZ
Apply constraints to the restrictor. If enabled, by default it will smooth the constant vector and force the restrictor to restrict it exactly. Can use MatSetNearNullSpace to give other vectors
false
-pc_air_improve_w_its
PCAIRGetImproveWIts PCAIRSetImproveWIts
Apply a number of Richardson iterations to improve the approximate prolongator. Uses the existing W as an initial guess.
0
-pc_air_improve_z_its
PCAIRGetImproveZIts PCAIRSetImproveZIts
Apply a number of Richardson iterations to improve the approximate restrictor. Uses the existing Z as an initial guess.