Building
Building
Abstract public contract for Femora building archetypes.
Subclasses implement the model-specific construction and setup methods. This class owns shared modal parsing, table printing, error filtering, and PyVista plotting helpers used by building archetype implementations.
Methods:
build
Create this building in model and return its mesh part.
get_modes
get_modes(num_modes: int, *, opensees_exe: Optional[str] = None, print_results: bool = False, plot: bool = False, plot_scale: Optional[float] = None) -> Dict[str, np.ndarray]
Return modal frequencies, periods, and eigenvectors.
get_recorders
get_recorders(model, *, file_name: Optional[str] = None, delta_t: Optional[float] = None, element_responses: Optional[List[str]] = None, node_responses: Optional[List[str]] = None)
Return recorder objects for this building.
create_rigid_diaphragms
Create rigid diaphragm constraints if supported by this building.
create_gravity_pattern
Create and return a gravity load pattern if supported.
apply_fixed_base
Apply fixed-base boundary conditions if supported by this building.
_resolve_modal_material
staticmethod
_resolve_modal_material(model, *, material: Optional[Union[Dict[str, object], Callable]], material_density: Optional[float], default_name: str, default_E: float, default_nu: float, default_density: float)
_parse_eigen_stdout
staticmethod
_parse_eigen_stdout(stdout: str, *, num_modes: int, start_node: int, end_node: int) -> Dict[str, np.ndarray]