Skip to content

MassManager

MassManager

MassManager(mesh_maker: 'Model')

Model-owned service for assigning nodal mass arrays.

Mass data lives on mesh parts before assembly and on the assembled mesh after assembly. This manager provides convenience helpers that modify those arrays without introducing separate mass objects or registries.

Attributes

_mesh_maker instance-attribute

_mesh_maker = mesh_maker

_events_subscribed instance-attribute

_events_subscribed = False

_region_point_cache instance-attribute

_region_point_cache: dict[int, ndarray] = {}

meshpart instance-attribute

meshpart = _MeshPartMassHelper(self)

region instance-attribute

region = _RegionMassHelper(self)

global_ instance-attribute

global_ = _GlobalMassHelper(self)

Methods:

register_events

register_events() -> None

unregister_events

unregister_events() -> None

_pad_mass staticmethod

_pad_mass(vec: ArrayLike, ndf: int) -> np.ndarray

Return a vector of length FEMORA_MAX_NDF with zeros padded / truncated.

_combine staticmethod

_combine(old: ndarray, new: ndarray, rule: str) -> np.ndarray

_handle_pre_assemble

_handle_pre_assemble(*_, **__)

Clear transient region caches before a fresh assembly.

clear

clear() -> None

Clear manager caches and remove Mass arrays from the current model.

get_meshpart_mass_array

get_meshpart_mass_array(meshpart_name: str) -> np.ndarray

get_assembled_mass_array

get_assembled_mass_array() -> Optional[np.ndarray]