Skip to content

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

build(model, material, material_density: float = 0.0)

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_diaphragms(model, verbose: bool = True) -> None

Create rigid diaphragm constraints if supported by this building.

create_gravity_pattern

create_gravity_pattern(model, g: float)

Create and return a gravity load pattern if supported.

apply_fixed_base

apply_fixed_base(model, tol: float = 0.0001) -> None

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)

_infer_material_density staticmethod

_infer_material_density(material) -> Optional[float]

_parse_eigen_stdout staticmethod

_parse_eigen_stdout(stdout: str, *, num_modes: int, start_node: int, end_node: int) -> Dict[str, np.ndarray]

_print_modal_table staticmethod

_print_modal_table(frequencies: ndarray, periods: ndarray, title: str) -> None

_plot_modal_shapes staticmethod

_plot_modal_shapes(mesh: Optional[DataSet], result: Dict[str, ndarray], *, scale: Optional[float]) -> None

_print_error_lines staticmethod

_print_error_lines(output: str) -> None

Print only useful error lines from captured setup/OpenSees output.