Numerical Solvers#
The RatelSolverType
determines how the composite CeedOperator are build and used to set the appropriate DMSNES or DMTS options.
-
PetscLogEvent RATEL_Prolong[RATEL_MAX_MULTIGRID_LEVELS]#
-
PetscLogEvent RATEL_Restrict[RATEL_MAX_MULTIGRID_LEVELS]#
-
static PetscErrorCode RatelRegisterPMultigridLogEvents(PetscInt num_multigrid_levels)#
Register p-multigrid
Ratel
log events.Not collective across MPI processes.
- Parameters:
num_multigrid_levels – [in] Number of multigrid levels to register
- Returns:
An error code: 0 - success, otherwise - failure
-
static PetscErrorCode RatelPMGProcessCommandLineOptions(RatelPMGContext pmg)#
Get
PCpMG
options.Collective across MPI processes.
- Parameters:
pmg – [inout]
PCpMG
context
- Returns:
An error code: 0 - success, otherwise - failure
-
static PetscErrorCode RatelSetupMultigridLevel(Ratel ratel, Vec M_loc, CeedVector m_loc, PetscInt level, CeedOperator op_jacobian, CeedOperator op_prolong, CeedOperator op_restrict)#
Setup
CeedOperator
for multigrid prolongation, restriction, and coarse grid Jacobian evaluation.Collective across MPI processes.
- Parameters:
ratel – [in]
Ratel
contextM_loc – [in] PETSc local vector holding multiplicity data
m_loc – [in]
CeedVector
for multiplicity datalevel – [in] Multigrid level to set up
op_jacobian – [inout] Composite
CeedOperator
for Jacobianop_prolong – [inout] Composite
CeedOperator
for prolongationop_restrict – [inout] Composite
CeedOperator
for restriction
- Returns:
An error code: 0 - success, otherwise - failure
-
PetscErrorCode RatelPCCreatePMG(PC pc)#
Setup
PCpMG
preconditioner fromRatel
context.Collective across MPI processes.
- Parameters:
pc – [inout]
PCpMG
object
- Returns:
An error code: 0 - success, otherwise - failure
-
PetscErrorCode RatelPCDestroyPMG(RatelPMGContext pmg)#
Destroy Ratel PMG preconditioner.
- Parameters:
pmg – [inout] Ratel pMG context
- Returns:
An error code: 0 - success, otherwise - failure
-
PetscErrorCode RatelPCRegisterPMG(Ratel ratel)#
Register
PCpMG
preconditioner.Not collective across MPI processes.
- Parameters:
ratel – [in]
Ratel
context
- Returns:
An error code: 0 - success, otherwise - failure
-
PetscErrorCode RatelSetupFormJacobianCtx(Ratel ratel, RatelFormJacobianContext ctx_form_jacobian)#
Setup context data for Jacobian evaluation.
Not collective across MPI processes.
- Parameters:
ratel – [in]
Ratel
contextctx_form_jacobian – [out] Context data for Jacobian evaluation
- Returns:
An error code: 0 - success, otherwise - failure