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[
salvus.mesh.data_structures.unstructured_mesh.unstructured_mesh.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[salvus.mesh.data_structures.unstructured_mesh.unstructured_mesh.UnstructuredMesh, float] — A tuple containing the mesh, along with the minimum boundary extrusion size in meters.