modules.foundationPit 模块帮助
本章节包含 modules.foundationPit 包中基坑支护相关计算模块的使用说明和示例,例如:
依据液性指数或标贯击数计算土钉极限粘结强度(
NailCohesionByTest,GB 50739-2011 第 5.1.7 条)其它基坑分析模块(详见 modules.foundationPit)
NailCohesionByTest
模块简介与适用场景
NailCohesionByTest对MaterialTable中每一行岩土,按 GB 50739-2011《复合土钉墙基坑支护技术规范》第 5.1.7 条 经验表,由 液性指数 和/或 标贯击数 计算 土钉极限粘结强度 ``qsk``(kPa)。同时输出 **成孔注浆土钉**(
grout)与 **打入钢管土钉**(steel)两类建议值及字符串说明(区间、插值或</>边界形式)。典型场景:标准地层表已含岩土名称及土工试验指标,需在 pipeline 中批量得到各层土钉粘结强度供支护设计或报表;常与
ConvertToMaterialTable串联。
端口说明
输入端口
InputMaterials:材料表(MaterialTable)。也可通过参数material_table传入(等价写入InputMaterials)。
输出端口
OutputResults:结果表(TableData,name为nail_cohesion_by_test_qsk)。若InputMaterials为None,则为None。
execute() 的返回值与 OutputResults 一致。
输入字段要求
模块通过 RequiredColumnCheck 校验:
必须存在
GeoMaterialProps.MaterialName``(``material_name/ 岩土名称)**至少存在其一**(列级 OR):
GeoMaterialProps.LiquidityIndex``(``liquidity_index/ 液性指数)或GeoMaterialProps.SPTNumber``(``spt_number/ 标贯击数)
可选列 GeoMaterialProps.LayerNumber 会原样带入输出;material_id 来自材料表索引。
按岩土类型的行级计算条件
岩土名称经 for_nail_bc 映射后,各行需满足:
黏性土:该行
liquidity_index不能为空砂土:该行
spt_number不能为空素填土、淤泥质土、粉土:不依赖上述两列的具体数值(取规范表建议区间中值)
无法映射或规范表归类为 其他 时,该行无法计算
输出字段说明(OutputResults)
material_id、layer_number、material_namegrout/grout_str:成孔注浆土钉极限粘结强度(数值 kPa / 字符串说明)steel/steel_str:打入钢管土钉极限粘结强度(数值 kPa / 字符串说明)
无法计算时,数值列与 grout_str、steel_str 均为 None。可计算时,字符串列可能为固定建议值、区间(如 60~80)或 < / > 边界形式,数值列为对应的建议计算值(插值或区间中值等,与内部 cal_soil_nail_cohesion_qsk 一致)。
参数说明
参数名 |
类型 |
默认值 |
说明 |
|---|---|---|---|
|
|
|
输入材料表;赋值后写入 |
快速上手示例:材料表计算 qsk
from gdisdk.dataclass.geoProfiles import MaterialTable
from gdisdk.dataclass.terminologies import GeoMaterialProps as GProps
from gdisdk.modules.foundationPit import NailCohesionByTest
materials = MaterialTable(
{
GProps.MaterialID: [0, 1, 2],
GProps.LayerNumber: ["1", "2", "3"],
GProps.MaterialName: ["黏性土", "砂土", "粉土"],
GProps.LiquidityIndex: [0.4, None, None],
GProps.SPTNumber: [None, 12, None],
}
)
mod = NailCohesionByTest(mname="NailCohesionByTest")
mod.InputMaterials = materials
mod.execute()
result = mod.OutputResults.data
快速上手示例:接 ConvertToMaterialTable
from gdisdk.dataclass.terminologies import GeoMaterialProps as GProps
from gdisdk.modules.converters import ConvertToMaterialTable
from gdisdk.modules.foundationPit import NailCohesionByTest
conv = ConvertToMaterialTable(mname="ConvertMaterial")
conv.column_name_map = {
"地层编号": GProps.LayerNumber,
"岩土名称": GProps.MaterialName,
"液性指数": GProps.LiquidityIndex,
"标贯击数": GProps.SPTNumber,
}
# conv.InputTable = standard_layer_table
conv.execute()
materials = conv.OutputMaterialTable.data
mod = NailCohesionByTest(mname="NailCohesionByTest")
mod.InputMaterials = materials
mod.execute()
qsk_table = mod.OutputResults.data
在 pipeline 中的使用方式
from gdisdk.pipeline import PipeLine
from gdisdk.modules.converters import ConvertToMaterialTable
from gdisdk.modules.foundationPit import NailCohesionByTest
pipe = PipeLine(app_name="NailQskDemo", app_title="土钉极限粘结强度计算")
convert = ConvertToMaterialTable(mname="ConvertMaterial")
calc = NailCohesionByTest(mname="NailCohesionByTest")
# links = reader.OutputTable >> convert.InputTable
# links = convert.OutputMaterialTable >> calc.InputMaterials
# pipe.add_module(convert)
# pipe.add_module(calc)
# pipe.run()
# qsk_table = calc.OutputResults.data
更多信息
材料表转换见 modules.converters 模块帮助 中的
ConvertToMaterialTable