Source code for sigmaepsilon.mesh.typing.geometry

from typing import (
    Union,
    Callable,
    Optional,
    ClassVar,
    Iterable,
    Protocol,
    runtime_checkable,
)

from numpy import ndarray


__all__ = ["GeometryProtocol"]


[docs] @runtime_checkable class GeometryProtocol(Protocol): """ Protocol for Geometry classes. """ number_of_nodes: ClassVar[int] number_of_spatial_dimensions: ClassVar[int] number_of_nodal_variables: ClassVar[int] = 1 vtk_cell_id: ClassVar[Optional[int]] = None meshio_cell_id: ClassVar[Optional[str]] = None boundary_class: ClassVar[Optional["GeometryProtocol"]] = None shape_function_evaluator: ClassVar[Optional[Callable]] = None shape_function_matrix_evaluator: ClassVar[Optional[Callable]] = None shape_function_derivative_evaluator: ClassVar[Optional[Callable]] = None monomial_evaluator: ClassVar[Optional[Callable]] = None quadrature: ClassVar[Optional[dict]] = None
[docs] @classmethod def master_coordinates(cls) -> ndarray: """ Returns the coordinates of the master element. Returns ------- numpy.ndarray """ ...
[docs] @classmethod def master_center(cls) -> ndarray: """ Returns the coordinates of the master element. Returns ------- numpy.ndarray """ ...
[docs] @classmethod def shape_function_values( cls, x: Union[float, Iterable[float]], *args, **kwargs ) -> ndarray: """ Evaluates the shape functions at the specified locations. """ ...
[docs] @classmethod def shape_function_derivatives( cls, x: Union[float, Iterable[float]], *args, **kwargs ) -> ndarray: """ Evaluates shape function derivatives wrt. the master element or the local coordinate frames of some cells. To control the behaviour, either 'jac' or 'wrt' can be provided. """ ...
[docs] @classmethod def shape_function_matrix( cls, x: Union[float, Iterable[float]], *args, N: Optional[int] = 1, **kwargs ) -> ndarray: """ Evaluates the shape function matrix at the specified locations and an N number of nodal variables. """ ...
[docs] @classmethod def approximator(cls, *args, **kwargs) -> Callable: """ Returns a callable object that can be used to approximate over nodal values of one or more cells. """ ...