HomogeneousData

HomogeneousData provides a convenient way to enforce homogeneous (zero) Dirichlet boundary conditions or constraints in a finite element problem. It automatically sets the solution to zero on specified regions or entities.

API Reference

ExtendableFEM.HomogeneousDataMethod
HomogeneousData(
    u;
    entities,
    kwargs...
) -> HomogeneousData{_A, ON_CELLS} where _A

Construct an operator that enforces homogeneous (typically zero) values for the unknown u on specified mesh entities and regions, using a penalty method.

When assembled, the operator penalizes the degrees of freedom (dofs) of u to the value specified by the value keyword (default: 0) on the selected entities and regions.

Arguments

  • u: The unknown (field variable) to be constrained.

Keyword Arguments

  • entities: The mesh entities on which to apply the condition (e.g., ON_CELLS, ON_BFACES, ON_FACES). Default is ON_CELLS.

    • mask: array of zeros/ones to set which components should be set by the operator (only works with componentwise dofs, add a 1 or 0 to mask additional dofs). Default: Any[]

    • name: name for operator used in printouts. Default: ''HomogeneousData''

    • penalty: penalty for fixed degrees of freedom. Default: 1.0e30

    • regions: subset of regions where operator should be assembly only. Default: Any[]

    • value: constant value of the data. Default: 0

    • verbosity: verbosity level. Default: 0

Returns

A HomogeneousData operator instance specifying the constraint.

source
ExtendableFEM.HomogeneousBoundaryDataMethod
HomogeneousBoundaryData(
    u;
    entities,
    kwargs...
) -> HomogeneousData

Construct an operator that enforces homogeneous (typically zero) values for the unknown u on boundary faces and specified boundary regions, using a penalty method.

This is a convenience constructor for imposing homogeneous Dirichlet or essential boundary conditions on the boundary of the domain. It is equivalent to calling HomogeneousData(u; entities=ON_BFACES, ...).

Arguments

  • u: The unknown (field variable) to be constrained.

Keyword Arguments

  • entities: The boundary entities on which to apply the condition (default: ON_BFACES).

    • mask: array of zeros/ones to set which components should be set by the operator (only works with componentwise dofs, add a 1 or 0 to mask additional dofs). Default: Any[]

    • name: name for operator used in printouts. Default: ''HomogeneousData''

    • penalty: penalty for fixed degrees of freedom. Default: 1.0e30

    • regions: subset of regions where operator should be assembly only. Default: Any[]

    • value: constant value of the data. Default: 0

    • verbosity: verbosity level. Default: 0

Returns

  • A HomogeneousData operator instance specifying the boundary constraint.
source

Example: Zero Dirichlet Boundary Condition

# Impose u = 0 on boundary region 1
assign_operator!(PD, HomogeneousBoundaryData(u; regions = [1]))