pystrata.site.Profile

class pystrata.site.Profile(layers=None, wt_depth=0)[source]

Soil profile with an infinite halfspace at the base.

__init__(layers=None, wt_depth=0)[source]

Methods

__init__([layers, wt_depth])

append(layer)

auto_discretize([max_freq, wave_frac, ...])

Subdivide the layers to capture strain variation.

copy()

Return a copy of the profile with new Layer instances.

from_dataframe(df[, wt_depth])

Create a profile based on a table with columns: - thickness (m) - vel_shear (m) - unit_wt (kN/m³) - damping (dec)

index(layer)

insert(index, layer)

iter_soil_types()

location(wave_field[, depth, index])

Create a Location for a specific depth.

lookup_depth(depth)

Look up the layer and the depth within the layer for a specific depth.

plot(prop[, ax, plot_kwds, axis_kwds])

pore_pressure(depth)

Pore pressure at a given depth in [kN//m²].

reset_layers()

Set initial properties from the soil types.

simplified_rayliegh_vel()

Simplified Rayliegh velocity of the site.

site_attenuation()

time_average_vel(depth)

Calculate the time-average velocity.

to_dataframe()

update_layers([start_layer])

vs30()

Compute the Vs30 of the profile.

Attributes

comp_shear_mod

comp_shear_vel

damping

density

depth

depth_mid

initial_shear_vel

max_error

shear_vel

slowness

strain

thickness

travel_time

unit_wt