Skip to content
Get started

eqiora.fem

← Python API index

Finite-element discretization policies.

View source
python
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.

Mixed MINI velocity and continuous P1 pressure spatial policy.

python
@final
class MiniP1:
def __new__(cls) -> Self: ...
@property
def method(self) -> str: ...
@property
def velocity_space(self) -> str: ...
@property
def pressure_space(self) -> str: ...
@property
def quadrature(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.

python
@final
class P1:
def __new__(cls) -> Self: ...
@property
def method(self) -> str: ...
@property
def space(self) -> str: ...
@property
def quadrature(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.

python
@final
class Q1:
def __new__(cls) -> Self: ...
@property
def method(self) -> str: ...
@property
def space(self) -> str: ...
@property
def quadrature(self) -> str: ...
def __eq__(self, other: object, /) -> bool: ...
def __hash__(self) -> int: ...
def __repr__(self) -> str: ...

One exact Model-Domain-bound spatial policy.

python
@final
class ScopedSpatialPolicy:
@property
def domain(self) -> DomainRef: ...
@property
def method(self) -> str: ...
@property
def spaces(self) -> tuple[str, str | None]: ...
@property
def quadrature(self) -> str: ...