eqiora.fem
Finite-element discretization policies.
View sourceExample: select element spaces
Section titled “Example: select element spaces”from eqiora import fem
scalar_method = fem.Q1()flow_method = fem.MiniP1()print(scalar_method.space)print(flow_method.velocity_space, flow_method.pressure_space)Q1 selects continuous tensor-product elements for Cartesian scalar and
elasticity problems. MiniP1 selects the mixed velocity/pressure spaces for
triangular Stokes problems. Pass the matching policy as spatial= to
eqiora.resolve; complete setups are in modeling.
MiniP1
Section titled “MiniP1”Mixed MINI velocity and continuous P1 pressure spatial policy.
@finalclass MiniP1: def __new__(cls) -> Self: ... @property def method(self) -> str: ... @property def velocity_space(self) -> str: ... @property def pressure_space(self) -> str: ... def at(self, domain: DomainRef) -> ScopedSpatialPolicy: ... def __eq__(self, other: object, /) -> bool: ... def __hash__(self) -> int: ... def __repr__(self) -> str: ...Continuous simplex P1 Galerkin spatial policy.
@finalclass P1: def __new__(cls) -> Self: ... @property def method(self) -> str: ... @property def space(self) -> str: ... def at(self, domain: DomainRef) -> ScopedSpatialPolicy: ... def __eq__(self, other: object, /) -> bool: ... def __hash__(self) -> int: ... def __repr__(self) -> str: ...Continuous tensor-product Q1 Galerkin spatial policy.
@finalclass Q1: def __new__(cls) -> Self: ... @property def method(self) -> str: ... @property def space(self) -> str: ... def __eq__(self, other: object, /) -> bool: ... def __hash__(self) -> int: ... def __repr__(self) -> str: ...ScopedSpatialPolicy
Section titled “ScopedSpatialPolicy”Spatial policy applied to one Model Domain; create it with at.
@finalclass ScopedSpatialPolicy: @property def domain(self) -> DomainRef: ... @property def method(self) -> str: ... @property def spaces(self) -> tuple[str, str | None]: ...TetrahedralEdge
Section titled “TetrahedralEdge”Lowest-order edge elements on affine tetrahedra.
For static real or complex vector fields with homogeneous natural boundary conditions. Each coefficient is the oriented tangential integral along an edge, so it includes the edge length and is not a point value.
@finalclass TetrahedralEdge: def __new__(cls) -> Self: ... @property def method(self) -> str: ... @property def space(self) -> str: ... def __eq__(self, other: object, /) -> bool: ... def __hash__(self) -> int: ... def __repr__(self) -> str: ...TetrahedralFace
Section titled “TetrahedralFace”Lowest-order face elements on affine tetrahedra.
For static real or complex vector fields with homogeneous natural boundary conditions. Each coefficient is the oriented normal flux through a face, so it includes the face area and is not a point value.
@finalclass TetrahedralFace: def __new__(cls) -> Self: ... @property def method(self) -> str: ... @property def space(self) -> str: ... def __eq__(self, other: object, /) -> bool: ... def __hash__(self) -> int: ... def __repr__(self) -> str: ...