modules.geoSurvey

Classes

class modules.geoSurvey.RecentlyDepositedLoess

新近堆积黄土计算判别

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'RecentlyDepositedLoess', auto_run: bool = True, stat_tables: PortTypeHint.TableData | PortTypeHint.TableCollection | None = None, stat_table_name: str | None = None, gravity: float = 9.8) → None
update_ui_schema(reset: bool = False) → dict[str, UIAttributeSchema]
get_recently_calc_data(stat_table, gravity: float = 9.8)

获取新近堆积黄土计算所需的数据

recently_calc(void_ratio_list, compressibility_coefficient_list, unit_weight_list, natural_moisture_content_list)

新近堆积黄土计算

execute() → PortTypeHint.TableData | None

Attributes:

InputStatTables: PortReference[PortTypeHint.TableData | PortTypeHint.TableCollection]
OutputTableData: PortReference[PortTypeHint.TableData]
class modules.geoSurvey.Collapsibility

黄土湿陷性计算

计算规则:

  • 自重湿陷量:从天然地面(孔口标高)起算,反映土体在自重作用下的湿陷变形

  • 湿陷量:从基础底面标高起算,反映基础荷载作用下的湿陷变形

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'Collapsibility', auto_run: bool = True, tables: PortTypeHint.TableCollection | None = None, area: Literal[(陇西地区, 陇东、陕北、晋西地区, 关中地区, 其它地区)] = '陇西地区') → None

Initialize Collapsibility object.

Parameters

tablesTableCollection

钻孔表、地层表、常规试验表(湿陷系数和自重湿陷系数取自此表) area : Literal[“陇西地区”, “陇东、陕北、晋西地区”, “关中地区”, “其它地区”] 湿陷性黄土工程地质分区。

update_ui_schema(reset: bool = False) → dict[str, UIAttributeSchema]
get_profiles(layer_table, bore_table, to_mat_table) → PortTypeHint.MultiProfile1D
get_fbot_data(bore_table, to_mat_table)
get_fbot_elev(profile, f_bot_data)
get_sample_table(normal_test_table, bore_table)
split_range_by_boundaries(min_val, max_val)

将给定的范围按照指定的边界值进行分段

返回:

list: 分段后的区间列表,其中的每个元素为[start, end]

get_coll_info_under_found(fbot_elev, h_dict, dt_s_dict)

计算湿陷量时,需要考虑基底和代表土层的关系,此方法用于获取相关信息

返回值示例: {

‘num’: 5,

101: {‘dt_s’: 0.026, ‘rep_depth’: [0.5, 1.6], ‘rep_thickness_and_elev’: [1.1, 10.0, 8.9]},

102: {‘dt_s’: 0.013, ‘rep_depth’: [1.6, 2.6], ‘rep_thickness_and_elev’: [1.0, 8.9, 7.9]},

103: {‘dt_s’: 0.016, ‘rep_depth’: [2.6, 3.6], ‘rep_thickness_and_elev’: [1.0, 7.9, 6.9]},

104: {‘dt_s’: 0.045, ‘rep_depth’: [3.6, 4.6], ‘rep_thickness_and_elev’: [1.0, 6.9, 5.9]},

105: {‘dt_s’: 0.038, ‘rep_depth’: [4.6, 5.5], ‘rep_thickness_and_elev’: [0.9, 5.9, 5.0]}

}

get_coll_calc_paras_under_found(area_id, is_gravity_coll, coll_info_under_found)
execute() → PortTypeHint.TableCollection | None

Attributes:

InputTables: PortReference[PortTypeHint.TableCollection]
OutputTableCollection: PortReference[PortTypeHint.TableCollection]
class modules.geoSurvey.Liquefaction

液化判别

剖面:

Profile1D(pnum="DK2", top=12.0,
             materials_id=[0, 1, 2],  # 地层ID
             layers_depth=[2.2, 6.4, 20.0],
             isamples_id=[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],  # 标贯样品的ID
             isamples_top_depth=[0.85, 2.85, 3.85, 4.85, 5.85, 6.85, 7.85, 8.85, 9.85, 10.85],
             isamples_length=[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3],
             samples_id=[911, 912, 913, 914, 915, 916, 917, 918, 919, 920],  # 黏粒含量样品的ID
             samples_depth=[0.7, 2.7, 3.7, 4.7, 5.7, 6.7, 7.7, 8.7, 9.7, 10.7]
             )

材料表:

{
    MaterialProp.MaterialID: [0, 1, 2],  # 地层ID [-],已经取好的地表下20米(或15米)深度范围内的
    MaterialProp.MaterialName: ["中砂", "中砂", "中砂"],  # 岩土名称 [-]
    MaterialProp.LayerNumber: ["1", "2", "5"],  # 地层编号 [-]
    MaterialProp.GeoAge: ["Q4", "Q4", "Q4"]  # 地质时代 [-]
}
units=[Units.null, Units.null, Units.null, Units.null, Units.percent]

样品表:

isamples_table_spt_df = pd.DataFrame({
    MaterialProp.MaterialID: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20],  # 样品ID [-]
    MaterialProp.SPTNumber: [6, 8, 9, 10, 12, 13, 14, 15, 15, 16]  # 标贯击数的实测值 [-],没有取None
})
units=[Units.null, Units.null]

samples_table_rhoc_df = pd.DataFrame({
    MaterialProp.MaterialID: [911, 912, 913, 914, 915, 916, 917, 918, 919, 920],  # 样品ID [-]
    MaterialProp.ClayContent: [3.1, 3.2, None, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4.0]  # 黏粒含量 [%],没有取None
})
units=[Units.null, Units.percent]

参数:

seismic_intensity: 抗震设防烈度,str,取值范围["6", "7", "7.5", "8", "8.5", "9"]
6度(0.05g)取"6"
7度(0.10g)取"7"
7度(0.15g)取"7.5"
8度(0.20g)取"8"
8度(0.30g)取"8.5"
9度(0.40g)取"9"

is_special_bld: 是否特殊类型的建筑,bool
特殊类型的建筑指:对液化沉陷敏感的乙类建筑

seismic_group: 设计地震分组,int,取值范围[1, 2, 3]
第一组取1,第二组取2,第三组取3

anti_float_water_level: 抗浮水位高程 [m],float

f_bottom_elev: 基础底面高程 [m],float
Inherits from:

PipeModule

Methods:

__init__(mname: str = 'Liquefaction', auto_run: bool = True, tables: PortTypeHint.TableCollection | None = None, layer_order_tables: PortTypeHint.TableCollection | None = None, clay_stat_table: PortTypeHint.TableData | PortTypeHint.TableCollection | None = None, liq_just_depth: Literal[(20, 15)] | None = 20, seismic_intensity: Literal[(6度(0.05g), 7度(0.10g), 7度(0.15g), 8度(0.20g), 8度(0.30g), 9度(0.40g))] | None = '7度(0.10g)', is_special_bld: bool | None = False, seismic_group: Literal[(1, 2, 3)] | None = 3, anti_float_water_level: float | None = 10000.0, f_bottom_elev: float | None = 0.0) → None
update_ui_schema(reset: bool = False) → dict[str, UIAttributeSchema]
get_layer_type_data(layer_order_table)
get_profiles(used_bore_id, layer_num_to_id, layer_table, bore_table, liq_just_depth, spt_data, rhoc_data, use_test_data=False, execute_print=False) → PortTypeHint.MultiProfile1D
get_mat_table(layer_order_table, use_test_data=False, execute_print=False)
get_spt_table(spt_table, use_test_data=False)
get_rhoc_table(used_bore_id, clay_stat_table, layer_type_map, layer_table, use_test_data=False)
execute() → PortTypeHint.TableCollection | None

Attributes:

InputTables: PortReference[PortTypeHint.TableCollection]
InputLayerOrderTables: PortReference[PortTypeHint.TableCollection]
InputClayStatTable: PortReference[PortTypeHint.TableData | PortTypeHint.TableCollection]
OutputTableCollection: PortReference[PortTypeHint.TableCollection]
class modules.geoSurvey.SeismicDesignParameters

Get the seismis design parameters by longitude and latitude of a point based on GB 18306

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'SeismicDesignParameters', auto_run: bool = True, point: PortTypeHint.ResultModel | None = None, token: str | None = None, host: str | None = None, gdim: bool = True) → None

Initialize SeismicDesignParameters object

execute() → PortTypeHint.ResultModel | None

Attributes:

InputToken: PortReference[PortTypeHint.Token]
InputPoint: PortReference[PortTypeHint.ResultModel]
OutputResult: PortReference[PortTypeHint.ResultModel]
class modules.geoSurvey.WaterSoilCorrosion

水土腐蚀性评价模块

Evaluates the corrosivity of water or soil on concrete and steel structures according to Chinese standard GB 50021.

Column mapping supports flexible input: keys may be field names or titles of the input ``TableData``, and values may be ``GeoMaterialProps`` enum values or titles. When no mapping is provided the module auto-detects columns by trying the ``GeoMaterialProps`` field name first, then the field title.

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'WaterSoilCorrosion', auto_run: bool = True, table: PortTypeHint.TableCollection | PortTypeHint.TableData | None = None, evaluation: Literal[water, soil] = 'water', env_type: Literal[class1, class2, class3] = 'class1', soil_type_Cl: Literal[A, B] = 'A', soil_type_PH: Literal[A, B] = 'A', data_table_name: str | None = None, water_columns_map: dict[str, str] | None = None, soil_columns_map: dict[str, str] | None = None) → None

Initialize WaterSoilCorrosion object

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

Attributes:

InputTable: PortReference[PortTypeHint.TableCollection | PortTypeHint.TableData]
OutputEnvResult: PortReference[PortTypeHint.TableCollection]
OutputClResult: PortReference[PortTypeHint.TableCollection]
OutputPHResult: PortReference[PortTypeHint.TableCollection]
OutputPermeabilityResult: PortReference[PortTypeHint.TableCollection]