Index
subsurfaceio.footing_foundation
Footing / shallow foundation API.
Compute shallow footing bearing capacity for Terzaghi, Vesic, or Meyerhof methods:
from subsurfaceio.footing_foundation import FootingFoundation
FootingFoundation(model=terzaghi_inputs).calculate()
Classes:
| Name | Description |
|---|---|
FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClayResults |
Meyerhof strong-sand-on-soft-clay footing capacity results. |
FootingCapacityMeyerhof1978StrongSandOnWeakSandResults |
Meyerhof strong-sand-on-weak-sand footing capacity results. |
FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClayResults |
Meyerhof strong-clay-on-soft-clay footing capacity results. |
FootingCapacityParametricResults |
Parametric footing capacity results. |
FootingCapacityParametricResultsData |
Parametric footing capacity result row. |
FootingCapacityTerzaghi1943Results |
Terzaghi footing capacity results. |
FootingCapacityVesic1975Results |
Vesic footing capacity results. |
FootingFoundation |
Shallow footing bearing capacity (Terzaghi, Vesic, Meyerhof). |
FootingFoundationMeyerhof1978StrongSandOnSoftSaturatedClay |
Meyerhof strong-sand-on-soft-clay footing capacity method. |
FootingFoundationMeyerhof1978StrongSandOnWeakSand |
Meyerhof strong-sand-on-weak-sand footing capacity method. |
FootingFoundationMeyerhof1978StrongSaturatedClayOnSoftSaturatedClay |
Meyerhof strong-clay-on-soft-clay footing capacity method. |
FootingFoundationMixin |
Shared footing geometry and soil inputs for capacity methods. |
FootingFoundationParametricAnalysis |
Parametric shallow footing bearing capacity. |
FootingFoundationTerzaghi1943 |
Terzaghi footing capacity method. |
FootingFoundationVesic1975 |
Vesic footing capacity method. |
Attributes:
| Name | Type | Description |
|---|---|---|
DiscriminatedFootingMethodModel |
TypeAlias
|
Method model discriminated on |
FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClayResultsMetadata |
|
|
FootingCapacityMeyerhof1978StrongSandOnWeakSandResultsMetadata |
|
|
FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClayResultsMetadata |
|
|
FootingCapacityTerzaghi1943ResultsMetadata |
|
|
FootingCapacityVesic1975ResultsMetadata |
|
|
FootingMethodModel |
TypeAlias
|
Undiscriminated union of footing capacity method models. |
RESULTS |
|
DiscriminatedFootingMethodModel
module-attribute
DiscriminatedFootingMethodModel: TypeAlias = Annotated[
FootingMethodModel,
Field(
discriminator="method",
description="Footing capacity method",
),
]
Method model discriminated on method.
FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClayResultsMetadata
module-attribute
FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClayResultsMetadata = create_model(
"FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClayResultsMetadata",
__base__=BaseModel,
**as_fields(
FunctionSequences.FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClay.return_names(
scalar=True
)
)
)
FootingCapacityMeyerhof1978StrongSandOnWeakSandResultsMetadata
module-attribute
FootingCapacityMeyerhof1978StrongSandOnWeakSandResultsMetadata = create_model(
"FootingCapacityMeyerhof1978StrongSandOnWeakSandResultsMetadata",
__base__=BaseModel,
**as_fields(
FunctionSequences.FootingCapacityMeyerhof1978StrongSandOnWeakSand.return_names(
scalar=True
)
)
)
FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClayResultsMetadata
module-attribute
FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClayResultsMetadata = create_model(
"FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClayResultsMetadata",
__base__=BaseModel,
**as_fields(
FunctionSequences.FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClay.return_names(
scalar=True
)
)
)
FootingCapacityTerzaghi1943ResultsMetadata
module-attribute
FootingCapacityTerzaghi1943ResultsMetadata = create_model(
"FootingCapacityTerzaghi1943ResultsMetadata",
__base__=BaseModel,
**as_fields(
FunctionSequences.FootingCapacityTerzaghi1943.return_names(
scalar=True
)
)
)
FootingCapacityVesic1975ResultsMetadata
module-attribute
FootingCapacityVesic1975ResultsMetadata = create_model(
"FootingCapacityVesic1975ResultsMetadata",
__base__=BaseModel,
**as_fields(
FunctionSequences.FootingCapacityVesic1975.return_names(
scalar=True
)
)
)
FootingMethodModel
module-attribute
FootingMethodModel: TypeAlias = (
FootingFoundationTerzaghi1943
| FootingFoundationVesic1975
| FootingFoundationMeyerhof1978StrongSandOnSoftSaturatedClay
| FootingFoundationMeyerhof1978StrongSandOnWeakSand
| FootingFoundationMeyerhof1978StrongSaturatedClayOnSoftSaturatedClay
)
Undiscriminated union of footing capacity method models.
RESULTS
module-attribute
RESULTS = {
"Terzaghi1943": FootingCapacityTerzaghi1943Results,
"Vesic1975": FootingCapacityVesic1975Results,
"Meyerhof1978StrongSandOnSoftSaturatedClay": FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClayResults,
"Meyerhof1978StrongSandOnWeakSand": FootingCapacityMeyerhof1978StrongSandOnWeakSandResults,
"Meyerhof1978StrongSaturatedClayOnSoftSaturatedClay": FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClayResults,
}
FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClayResults
pydantic-model
Bases: BaseModel
Meyerhof strong-sand-on-soft-clay footing capacity results.
Fields:
-
method(Literal['Meyerhof1978StrongSandOnSoftSaturatedClay']) -
metadata(FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClayResultsMetadata)
FootingCapacityMeyerhof1978StrongSandOnWeakSandResults
pydantic-model
Bases: BaseModel
Meyerhof strong-sand-on-weak-sand footing capacity results.
Fields:
-
method(Literal['Meyerhof1978StrongSandOnWeakSand']) -
metadata(FootingCapacityMeyerhof1978StrongSandOnWeakSandResultsMetadata)
FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClayResults
pydantic-model
Bases: BaseModel
Meyerhof strong-clay-on-soft-clay footing capacity results.
Fields:
-
method(Literal['Meyerhof1978StrongSaturatedClayOnSoftSaturatedClay']) -
metadata(FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClayResultsMetadata)
FootingCapacityParametricResults
pydantic-model
Bases: BaseModel
Parametric footing capacity results.
Fields:
FootingCapacityParametricResultsData
pydantic-model
Bases: BaseModel
Parametric footing capacity result row.
Fields:
-
footing_width(float | None) -
footing_embedment(float | None) -
ultimate_bearing_capacity(float | None)
FootingCapacityTerzaghi1943Results
pydantic-model
Bases: BaseModel
Terzaghi footing capacity results.
Fields:
-
method(Literal['Terzaghi1943']) -
metadata(FootingCapacityTerzaghi1943ResultsMetadata)
FootingCapacityVesic1975Results
pydantic-model
Bases: BaseModel
Vesic footing capacity results.
Fields:
-
method(Literal['Vesic1975']) -
metadata(FootingCapacityVesic1975ResultsMetadata)
FootingFoundation
pydantic-model
Bases: Model
Shallow footing bearing capacity (Terzaghi, Vesic, Meyerhof).
References
- terzaghi1943theoretical
- vesic1975bearing
- meyerhof1978ultimate
Fields:
-
model(DiscriminatedFootingMethodModel) -
results(FootingCapacityTerzaghi1943Results | FootingCapacityVesic1975Results | FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClayResults | FootingCapacityMeyerhof1978StrongSandOnWeakSandResults | FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClayResults | None)
results
pydantic-field
results: (
FootingCapacityTerzaghi1943Results
| FootingCapacityVesic1975Results
| FootingCapacityMeyerhof1978StrongSandOnSoftSaturatedClayResults
| FootingCapacityMeyerhof1978StrongSandOnWeakSandResults
| FootingCapacityMeyerhof1978StrongSaturatedClayOnSoftSaturatedClayResults
| None
) = None
Calculation results
calculate
Run the calculation and store results.
Returns:
| Type | Description |
|---|---|
Self
|
|
plot_geometry
plot_geometry(
footing_thickness: float = 0.3,
column_width: float = 0.25,
soil_below_foundation_thickness: float = 1.0,
) -> plotly.graph_objects.Figure
Build a 3-D geometry sketch of the footing and soil.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
footing_thickness
|
float
|
Footing thickness in meters. |
0.3
|
column_width
|
float
|
Column width in meters. |
0.25
|
soil_below_foundation_thickness
|
float
|
Soil block thickness below the footing in meters. |
1.0
|
Returns:
| Type | Description |
|---|---|
Figure
|
Plotly 3-D figure. |
FootingFoundationMeyerhof1978StrongSandOnSoftSaturatedClay
pydantic-model
Bases: FootingFoundationMixin
Meyerhof strong-sand-on-soft-clay footing capacity method.
Fields:
-
footing_shape(FootingShape) -
footing_embedment(float) -
footing_width(float) -
footing_length(NullableFloat) -
water_table_present(bool) -
water_table(NullableFloat) -
unit_weight(float) -
method(Literal['Meyerhof1978StrongSandOnSoftSaturatedClay']) -
friction_angle(float) -
thickness_top_layer(float) -
undrained_shear_strength_bottom_layer(float)
FootingFoundationMeyerhof1978StrongSandOnWeakSand
pydantic-model
Bases: FootingFoundationMixin
Meyerhof strong-sand-on-weak-sand footing capacity method.
Fields:
-
footing_shape(FootingShape) -
footing_embedment(float) -
footing_width(float) -
footing_length(NullableFloat) -
water_table_present(bool) -
water_table(NullableFloat) -
unit_weight(float) -
method(Literal['Meyerhof1978StrongSandOnWeakSand']) -
friction_angle(float) -
thickness_top_layer(float) -
unit_weight_bottom_layer(float) -
friction_angle_bottom_layer(float)
FootingFoundationMeyerhof1978StrongSaturatedClayOnSoftSaturatedClay
pydantic-model
Bases: FootingFoundationMixin
Meyerhof strong-clay-on-soft-clay footing capacity method.
Fields:
-
footing_shape(FootingShape) -
footing_embedment(float) -
footing_width(float) -
footing_length(NullableFloat) -
water_table_present(bool) -
water_table(NullableFloat) -
unit_weight(float) -
method(Literal['Meyerhof1978StrongSaturatedClayOnSoftSaturatedClay']) -
undrained_shear_strength(float) -
thickness_top_layer(float) -
undrained_shear_strength_bottom_layer(float)
FootingFoundationMixin
pydantic-model
Bases: BaseModel
Shared footing geometry and soil inputs for capacity methods.
Fields:
-
method(str) -
footing_shape(FootingShape) -
footing_embedment(float) -
footing_width(float) -
footing_length(NullableFloat) -
water_table_present(bool) -
water_table(NullableFloat) -
unit_weight(float)
plot_geometry
plot_geometry(
footing_thickness: float,
column_width: float,
soil_below_foundation_thickness: float,
) -> plotly.graph_objects.Figure
Build a 3-D geometry sketch of the footing and soil.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
footing_thickness
|
float
|
Footing thickness in meters. |
required |
column_width
|
float
|
Column width in meters. |
required |
soil_below_foundation_thickness
|
float
|
Soil block thickness below the footing in meters. |
required |
Returns:
| Type | Description |
|---|---|
Figure
|
Plotly 3-D figure. |
FootingFoundationParametricAnalysis
pydantic-model
Bases: Model
Parametric shallow footing bearing capacity.
References
- terzaghi1943theoretical
- vesic1975bearing
- meyerhof1978ultimate
Fields:
-
model(DiscriminatedFootingMethodModel) -
field(Literal['footing_width', 'footing_embedment']) -
range(RangeParameters) -
results(FootingCapacityParametricResults | None)
calculate
Run the calculation and store results.
Returns:
| Type | Description |
|---|---|
Self
|
|
FootingFoundationTerzaghi1943
pydantic-model
Bases: FootingFoundationMixin
Terzaghi footing capacity method.
Fields:
-
footing_shape(FootingShape) -
footing_embedment(float) -
footing_width(float) -
footing_length(NullableFloat) -
water_table_present(bool) -
water_table(NullableFloat) -
unit_weight(float) -
method(Literal['Terzaghi1943']) -
friction_angle(float) -
undrained_shear_strength(float)
FootingFoundationVesic1975
pydantic-model
Bases: FootingFoundationMixin
Vesic footing capacity method.
Fields:
-
footing_shape(FootingShape) -
footing_embedment(float) -
footing_width(float) -
footing_length(NullableFloat) -
water_table_present(bool) -
water_table(NullableFloat) -
unit_weight(float) -
method(Literal['Vesic1975']) -
friction_angle(float) -
undrained_shear_strength(float)