Boundary Conditions#

These functions add boundary terms to the residual evaluation.

PetscErrorCode RatelCreateBCLabel(DM dm, const char name[])#

Create boundary label.

Parameters:
  • dm[inout] DM to add boundary label

  • name[in] Name for new boundary label

Returns:

An error code: 0 - success, otherwise - failure

PetscErrorCode RatelDMAddBoundariesDirichlet(Ratel ratel, DM dm)#

Add Dirichlet boundaries to DM.

Parameters:
  • ratel[in] Ratel context

  • dm[out] DM to update with Dirichlet boundaries

Returns:

An error code: 0 - success, otherwise - failure

PetscErrorCode RatelDMAddBoundariesSlip(Ratel ratel, DM dm)#

Add Slip boundaries to DM.

Parameters:
  • ratel[in] Ratel context

  • dm[out] DM to update with Dirichlet boundaries

Returns:

An error code: 0 - success, otherwise - failure

PetscErrorCode RatelCeedAddBoundariesDirichletClamp(Ratel ratel, DM dm, CeedOperator op_dirichlet)#

Add Dirichlet clamp boundaries to Dirichlet operator.

Parameters:
  • ratel[in] Ratel context

  • dm[in] DM to use for Dirichlet boundaries

  • op_dirichlet[out] Composite Dirichlet operator to add sub-operators to

Returns:

An error code: 0 - success, otherwise - failure

PetscErrorCode RatelCeedAddBoundariesNeumann(Ratel ratel, DM dm, CeedOperator op_residual)#

Add Neumann boundaries to residual operator.

Parameters:
  • ratel[in] Ratel context

  • dm[in] DM to use for Neumann boundaries

  • op_residual[out] Composite residual u term CeedOperator to add Neumann sub-operators

Returns:

An error code: 0 - success, otherwise - failure

PetscErrorCode RatelSetupSurfaceForceCentroids(Ratel ratel, DM dm)#

Setup surface force face centroid computation.

Parameters:
  • ratel[in] Ratel context

  • dm[in] DM with surface force faces

Returns:

An error code: 0 - success, otherwise - failure

PetscErrorCode RatelMaterialCeedAddBoundariesPlaten(RatelMaterial material, CeedOperator op_residual, CeedOperator op_jacobian)#

Add platen contact boundaries to residual operator.

Parameters:
  • material[in] RatelMaterial context

  • op_residual[out] Composite residual u term CeedOperator to add RatelMaterial sub-operator

  • op_jacobian[out] Composite Jacobian CeedOperator to add RatelMaterial sub-operator

Returns:

An error code: 0 - success, otherwise - failure

PetscErrorCode RatelMaterialSetupPlatenJacobianMultigridLevel(RatelMaterial material, PetscInt level, CeedVector m_loc, CeedOperator sub_op_jacobian_fine, CeedOperator op_jacobian_coarse, CeedOperator op_prolong, CeedOperator op_restrict)#

Setup multigrid level CeedOperators for RatelMaterial Platen BC Jacobian.

Parameters:
  • material[in] RatelMaterial context

  • level[in] Multigrid level to setup

  • m_loc[in] libCEED vector holding multiplicity

  • sub_op_jacobian_fine[in] Fine grid Jacobian CeedOperator

  • op_jacobian_coarse[inout] Composite Jacobian CeedOperator to add RatelMaterial suboperators

  • op_prolong[inout] Composite prolongation CeedOperator to add RatelMaterial suboperators

  • op_restrict[inout] Composite restriction CeedOperator to add RatelMaterial suboperators

Returns:

An error code: 0 - success, otherwise - failure

PetscErrorCode RatelCeedAddBoundariesPressure(Ratel ratel, DM dm, CeedOperator op_residual, CeedOperator op_jacobian)#

Add Pressure boundaries to residual/jacobian operator.

Parameters:
  • ratel[in] Ratel context

  • dm[in] DM to use for pressure boundaries

  • op_residual[out] Composite residual u term CeedOperator to add pressure sub-operators

  • op_jacobian[out] Composite jacobian u term CeedOperator to add pressure sub-operators

Returns:

An error code: 0 - success, otherwise - failure

PetscErrorCode RatelMaterialSetupPressureJacobianMultigridLevel(RatelMaterial material, PetscInt level, CeedVector m_loc, CeedOperator sub_op_jacobian_fine, CeedOperator op_jacobian_coarse, CeedOperator op_prolong, CeedOperator op_restrict)#

Setup multigrid level CeedOperators for RatelMaterial Pressure BC Jacobian.

Parameters:
  • material[in] RatelMaterial context

  • level[in] Multigrid level to setup

  • m_loc[in] libCEED vector holding multiplicity

  • sub_op_jacobian_fine[in] Fine grid Jacobian CeedOperator

  • op_jacobian_coarse[inout] Composite Jacobian CeedOperator to add RatelMaterial suboperators

  • op_prolong[inout] Composite prolongation CeedOperator to add RatelMaterial suboperators

  • op_restrict[inout] Composite restriction CeedOperator to add RatelMaterial suboperators

Returns:

An error code: 0 - success, otherwise - failure