modules.shallowFoundation

Classes

class modules.shallowFoundation.CreateRecFoundation

Create a rectangular shallow foundation.

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'CreateRecFoundation', auto_run: bool = True, name: str | None = None, width: float = 8.0, length: float = 20.0, design_ground_elev: float = 0.0, bottom_elev: float = <ast.UnaryOp object at 0x0000021FE0F1EDA0>, ave_unit_weight: float = 20, load_by: Literal[(design_load, bottom_stress)] = 'design_load', design_load: float = 2100, bottom_stress: float = 15.0) → None

Initialize a CreateRecFoundation object.

Parameters

namestr | None, default: None

The name of the foundation.

widthfloat, default: 8.0

The width of the foundation.

lengthfloat, default: 20.0

The length of the foundation.

design_ground_elevfloat, default: 0.0

The design ground elevation.

bottom_elevfloat, default: -2.0

The bottom elevation of the foundation.

ave_unit_weightfloat, default: 20

The average unit weight of the foundation and its fill. load_by : {“design_load”, “bottom_stress”}, default: “design_load” Which value sets the foundation load. design_load uses design_load (kN). bottom_stress uses bottom_stress (kPa) and sets the load to bottom_stress * width * length.

design_loadfloat, default: 2100

The design load of the foundation. Used when load_by is design_load.

bottom_stressfloat, default: 15.0

The bottom stress of the foundation. Used when load_by is bottom_stress. The default equals the default design load spread over the default foundation area: 2100 / (8 × 20).

Notes

If the self.name is None, the module will not run even if the auto_run is True.
update_ui_schema(reset: bool = False) → dict[str, UIAttributeSchema]
execute() → PortTypeHint.RecFoundation | None

Attributes:

OutputFoundation: PortReference[PortTypeHint.RecFoundation]
class modules.shallowFoundation.FoundationSettlement

Calculate the settlement of a shallow foundation.

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'FoundationSettlement', auto_run: bool = True, profiles: PortTypeHint.MultiProfile1D | None = None, material_table: PortTypeHint.MaterialTable | None = None, foundation: PortTypeHint.RecFoundation | None = None, cal_p0_from: Literal[design_ground, original_ground] = 'original_ground', fill_compression_modulus: float = 2, fill_characteristic_bearing_capacity: float = 80, fill_unit_weight: float = 18, compression_modulus_by_profile: dict[str, list[float]] | None = None, design_water_elev: float | None = None, water_unit_weight: float = 10) → None

Initialize a FoundationSettlement object.

Parameters

profilesPortTypeHint.MultiProfile1D, default: None

The 1D geological profiles.

material_tablePortTypeHint.MaterialTable, default: None

The material table for the geological profiles.

Examples

::

       compression_modulus_by_profile = {"ZK1": [3.5, 3.1, 6.5], "ZK2": [2.5, 2.1, 5.5]}

    The length of the values in the list should be the same as the number of layers in the profile.

design_water_elev (m): float, default: None
    The design water elevation.
    If it's None, the water depth in each profile will be used.

water_unit_weight (kN/m3): float, default: 10
    The unit weight of water.
update_ui_schema(reset: bool = False) → dict[str, UIAttributeSchema]
execute() → PortTypeHint.TableData | None

Attributes:

InputProfiles: PortReference[PortTypeHint.MultiProfile1D]
InputMaterialTable: PortReference[PortTypeHint.MaterialTable]
InputFoundation: PortReference[PortTypeHint.RecFoundation]
OutputResult: PortReference[PortTypeHint.TableData]
class modules.shallowFoundation.BearingCapacityModify

Modify the bearing capacity of soil according to shape of the foundation.

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'BearingCapacityModify', auto_run: bool = True, profiles: PortTypeHint.MultiProfile1D | None = None, materials: PortTypeHint.MaterialTable | None = None, foundation: PortTypeHint.RecFoundation | None = None, cal_d_from: Literal[original_ground, design_ground, user_defined] = 'design_ground', equivalent_f_depth: float | None = None, f_soil_types: dict[str, int] | None = None, design_water_elev: float | None = None, water_unit_weight: float = 10, fill_character_bearing_capacity: float = 100, fill_unit_weight: float = 18) → None

Initialize BearingCapacityModify object.

Parameters

profilesPortTypeHint.Profile1D | PortTypeHint.MultiProfile1D

The 1D profiles used for the calculation.

materialsPortTypeHint.MaterialTable, default: None

The material table for the geological profiles.

foundationPortTypeHint.RecFoundation, default: None

The information of the shallow foundation. cal_d_from: Literal[“design_ground”, “original_ground”, “user_defined”], default: “design_ground” From where to calculate the bottom depth of the foundation. If “user_defined”, the calcuation of gama_m will use “design_ground” as the reference level. But the “d” in the final formula (f_ak + η_b * γ * (b-3) + η_d * γ_m * (d-0.5) ) will use the equivalent_f_depth.

equivalent_f_depthfloat, default: None

The equivalent depth of the foundation. Only used when cal_d_from is “user_defined”. 对于两侧裙楼分别都大于两倍主楼宽度,则需两侧分别折算等效基础埋深,取不利。 f_soil_types: dict[str, int] | None, default: None The soil types of soil right below foundation to decide eta_b and eta_d. Key should be the pnum of the profile, value is the foundation soil type id. Below is the table for the soil type id: :: | 土的类别 | ID | eta_b | eta_d | |———————————-|——|——|——| | 淤泥和淤泥质土 | 0 | 0 | 1 | | 人工填土,e或t大于等于0.85的黏性土 | 1 | 0 | 1 | | 红黏土,含水比 aw > 0.8 | 2 | 0 | 1.2 | | 红黏土,含水比 aw ≤ 0.8 | 3 | 0.15 | 1.4 | | 大面积压实填土,压实系数大于0.95,黏粒含量pc ≥ 10%的黏性土 | 4 | 0 | 1.5 | | 最大干密度大于2100kg/m³的级配砂石 | 5 | 0 | 2 | | 粉土,黏粒含量 pc ≥ 10%的粉性土 | 6 | 0.3 | 1.5 | | 粉土,黏粒含量 pc < 10%的粉性土 | 7 | 0.5 | 2 | | e及t均小于0.85的黏性土 | 8 | 0.3 | 1.6 | | 粉砂、细砂(不包括饱湿与饱和时的高密实状态) | 9 | 2 | 3 | | 中砂、粗砂、砾砂和碎石土 | 10 | 3 | 4.4 | | 非弱风化和全风化岩石 | 11 | 1 | 1 | For loess, here is the soil type table: :: | 土的类别 | ID | eta_b | eta_d | |———————————-|——|——|——| | 晚更新世、全新世湿陷性黄土,ω≤24% | 12 | 0.2 | 1.25 | | 晚更新世、全新世湿陷性黄土,ω>24% | 13 | 0 | 1.1 | | 新进堆积黄土 | 14 | 0 | 1.0 | | 饱和黄土,e及IL都小于0.85 | 15 | 0.2 | 1.25 | | 饱和黄土,e或IL大于等于0.85 | 16 | 0 | 1.1 | | 饱和黄土,e及IL都不小于1.00 | 17 | 0 | 1.0 | Before calculation, this mapping is rewritten so its keys are exactly the borehole numbers in InputProfiles. A borehole that is missing uses the default type id 0 (淤泥和淤泥质土). A borehole that is no longer in InputProfiles is removed. Soil-type ids already stored for the remaining boreholes are kept.

design_water_elevfloat, default: None

The design ground water elevation. If None, there is no groundwater.

water_unit_weightfloat, default: 10

The unit weight of the ground water.

fill_character_bearing_capacityfloat, default: 100

The characteristic bearing capacity of the fill.

fill_unit_weightfloat, default: 18

The unit weight of the fill.

update_ui_schema(reset: bool = False) → dict[str, UIAttributeSchema]
execute() → PortTypeHint.TableCollection | None

Attributes:

InputProfiles: PortReference[PortTypeHint.MultiProfile1D]
InputMaterialTable: PortReference[PortTypeHint.MaterialTable]
InputFoundation: PortReference[PortTypeHint.RecFoundation]
OutputResult: PortReference[PortTypeHint.TableCollection]
class modules.shallowFoundation.SoilUniformity

Evaluate the uniformity of soil below the foundation.

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'SoilUniformity', auto_run: bool = True, profiles: PortTypeHint.MultiProfile1D | None = None, materials: PortTypeHint.MaterialTable | None = None, foundation: PortTypeHint.RecFoundation | None = None, cal_elevation: float | None = None, fill_Es: float = 2.0) → None

Initialize SoilUniformity object.

Parameters

profilesPortTypeHint.MultiProfile1D, default: None

The profiles used for calculation.

materialsPortTypeHint.MaterialTable, default: None

The materials data used for calculation.

foundationPortTypeHint.RecFoundation, default: None

The information of the shallow foundation.

cal_elevationfloat, default: None

The bottom elevation of the deformed zone. If not None, the cal_elevation used will be max value of cal_elevation and the max value of elevation of all profiles’ bottom. If None, it will be the max value of elevation of all profiles’ bottom.

fill_Esfloat, default: 2.0

The compression modulus of the fill which is used when the bottom of foundation is above the top of profile.

update_ui_schema(reset: bool = False) → dict[str, UIAttributeSchema]
execute() → PortTypeHint.ResultModel | None

Attributes:

InputProfiles: PortReference[PortTypeHint.MultiProfile1D]
InputMaterialTable: PortReference[PortTypeHint.MaterialTable]
InputFoundation: PortReference[PortTypeHint.RecFoundation]
OutputResult: PortReference[PortTypeHint.ResultModel]
class modules.shallowFoundation.BearingCapacityBySPT

Calculate bearing capacity fak of each soil according to standard - JGJ340-2015 《建筑地基检测技术规范》 - term 7.4.8

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'BearingCapacityByCPT', auto_run: bool = True, material_table: PortTypeHint.MaterialTable | None = None, str_precision: int | None = None) → None

Initialize a BearingCapacityByCPT object.

Parameters

material_tablePortTypeHint.MaterialTable, default: None

The material table for calculation.

Examples

::

       results_table = {MaterialProp.MaterialID: [0, 1, 2],
                       MaterialProp.LayerNumber: ["1", "2", "3"],
                       MaterialProp.MaterialName: ["砂土", "黏性土", "粉土"],
                       MaterialProp.SoilCharacteristicBearingCapacity: [80, 160, 220],
                       "fak_str": ["80", "160", "220"]}
       units = [-, -, -, kPa, kPa]
update_ui_schema(reset: bool = False) → dict[str, UIAttributeSchema]
execute() → PortTypeHint.TableData | None

Attributes:

InputMaterials: PortReference[PortTypeHint.MaterialTable]
OutputResults: PortReference[PortTypeHint.TableData]
class modules.shallowFoundation.BearingCapacityByStrength

Calculate bearing capacity fa of each soil according to standard - GB50007-2011 《建筑地基基础设计规范》 - term 5.2.5.

The depth of the foundation bottom is considered as 0.

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'BearingCapacityByStrength', auto_run: bool = True, material_table: PortTypeHint.MaterialTable | None = None, f_width: float = 0.3, anti_float_water_level: float | None = None, water_unit_weight: float = 10, numeric_precision: int | None = None) → None

Initialize a BearingCapacityByStrength object.

Parameters

material_tablePortTypeHint.MaterialTable, default: None

The material table for calculation.

Examples

::

       results_table = {MaterialProp.MaterialID: [0, 1, 2],
                       MaterialProp.LayerNumber: ["1", "2", "3"],
                       MaterialProp.MaterialName: ["砂土", "黏性土", "粉土"],
                       MaterialProp.ModifiedSoilCharacteristicBearingCapacity: [80, 160, 220]}
       units = [-, -, -, kPa]

Notes

The depth of the foundation bottom is considered as 0.

Ports
InputMaterials : PortTypeHint.MaterialTable
    The material table used for calculation.

OutputResults : PortTypeHint.TableData
    The calculated result.
update_ui_schema(reset: bool = False) → dict[str, UIAttributeSchema]
execute() → PortTypeHint.TableData | None

Attributes:

InputMaterials: PortReference[PortTypeHint.MaterialTable]
OutputResults: PortReference[PortTypeHint.TableData]