salvus.toolbox.toolbox_geotech
salvus.toolbox.toolbox_geotech salvus toolbox toolbox_geotech Geotechnical utilities.
Functions
get_simple_building()
get_simple_building()def get_simple_building(
basement_width: float,
basement_depth: float,
building_width: float,
story_height: float,
ceiling_height: float,
wall_width: float,
n_stories: int,
vs_min: float,
f_max: float,
nelem_per_wavelength: float = 2,
boundaries: tuple[list[str], float] = (["x0", "x1", "y0"], 10),
buffer_elements: int = 0,
) -> tuple[UnstructuredMesh, float]: ...Get a mesh modelling a simple idealized skyscraper.
This function will build a “skyscraper” type elastic model from a collection of SalvusMesh structured grid objects. A variety of features are parameterized and can be modified on the fly. This function may serve as a starting point for a more complex or realistic model and mesh as generated by the user.
Parameters
basement_widthfloat — Width of basement foundation (below tower).basement_depthfloat — Depth of basement foundation (below tower).building_widthfloat — Width of building itself.story_heightfloat — Height of each story of the building.ceiling_heightfloat — Thickness of each ceiling.wall_widthfloat — Thickness of the walls.n_storiesint — Number of stories.vs_minfloat — Minimum shear-wave velocity in the model.f_maxfloat — Maximum frequency which will be modelled.nelem_per_wavelengthfloat — Number of elements per shortest wavelength in the model, calculated from vs_min and f_max.boundariestuple[list[str], float] — Extrude the mesh from side sets boundaries[0], by approximately boundaries[1] elements.buffer_elementsint — Add a buffer zone of normal elements between the building and the absorbing boundary layer.
Returns tuple[UnstructuredMesh, float] — A tuple containing the mesh, along with the minimum boundary extrusion size in meters.