modules.geoSurvey

Classes

class modules.geoSurvey.RecentlyDepositedLoess

新近堆积黄土计算判别

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'RecentlyDepositedLoess', auto_run: bool = True, stat_tables: PortTypeHint.TableCollection | None = None, stat_table_name: str | None = None) None
set_cal_params(reset: bool = True) dict[str, RangeModel] | None
get_recently_calc_data(stat_table)

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

recently_calc(void_ratio_list, compression_factor_list, unit_weight_list, natural_water_content_list)

新近堆积黄土计算

execute() PortTypeHint.TableData | None

Properties:

InputStatTables
OutputTableData
class modules.geoSurvey.Collapsibility

湿陷性计算判别

参数:

area_id (int): 用户在前端选择相应地区,转换为int型,1-陇西地区;2-陇东、陕北、晋西地区;3-关中地区;4-其它地区 [-]

f_bottom_elev (float | None): 用户在前端输入的基础底标高 [m],如果用户没有输入此项,程序自动取地表下1.5米为基础底标高

计算规则:
- 自重湿陷量:从天然地面(孔口标高)起算,反映土体在自重作用下的湿陷变形
- 湿陷量:从基础底面标高起算,反映基础荷载作用下的湿陷变形

样品表格式:

{
    MaterialProp.MaterialID: [18, 19, 20],  # 样品ID
    MaterialProp.LayerNumber: ["qy1", "qy2", "qy3"],  # 样品名称
    MaterialProp.GravityCollapseFactor: [0.004, 0.026, 0.015],  # 自重湿陷系数
    MaterialProp.CollapseFactor: [0.042, 0.038, 0.034]  # 湿陷系数
}

units=[null, null, null, null]
Inherits from:

PipeModule

Methods:

__init__(mname: str = 'Collapsibility', auto_run: bool = True, tables: PortTypeHint.TableCollection | None = None, building_tables: PortTypeHint.TableCollection | None = None, area: Literal[(陇西地区, 陇东、陕北、晋西地区, 关中地区, 其它地区)] = '陇西地区') None
set_cal_params(reset: bool = True) dict[str, RangeModel] | None
get_profiles(layer_table, bore_table, layer_table_title_to_name, bore_table_title_to_name, to_mat_table) PortTypeHint.MultiProfile1D
get_fbot_data(bore_table, building_table, bore_table_title_to_name, building_table_title_to_name, to_mat_table)
get_fbot_elev(profile, f_bot_data)
get_sample_table(normal_test_table, normal_test_table_title_to_name)
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

Properties:

InputTables
InputBuildingTables
OutputTableCollection
class modules.geoSurvey.Liquidation

液化判别

剖面:

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 = 'Liquidation', auto_run: bool = True, tables: PortTypeHint.TableCollection | None = None, layer_order_tables: 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
set_cal_params(reset: bool = True) dict[str, RangeModel] | None
get_layer_type_data(layer_order_table, layer_order_table_title_to_name)
get_profiles(used_bore_id, layer_num_to_id, layer_table, layer_table_title_to_name, bore_table, bore_table_title_to_name, liq_just_depth, spt_data, rhoc_data, use_test_data=False, execute_print=False) PortTypeHint.MultiProfile1D
get_mat_table(layer_order_table, layer_order_table_title_to_name, use_test_data=False, execute_print=False)
get_spt_table(spt_table, spt_table_title_to_name, use_test_data=False)
get_rhoc_table(used_bore_id, normal_test_table, normal_test_table_title_to_name, layer_type_map, layer_table, layer_table_title_to_name, use_test_data=False)
execute() PortTypeHint.TableCollection | None

Properties:

InputTables
InputLayerOrderTables
OutputTableCollection
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.SingleResult | None = None, token: str | None = None, host: str | None = None, gdim: bool = True) None

Initialize SeismicDesignParameters object

execute() PortTypeHint.SingleResult | None

Attributes:

InputToken: PortReference[PortTypeHint.Token]
InputPoint: PortReference[PortTypeHint.SingleResult]
OutputResult: PortReference[PortTypeHint.SingleResult]
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.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', 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.TableData]
OutputEnvResult: PortReference[PortTypeHint.TableCollection]
OutputClResult: PortReference[PortTypeHint.TableCollection]
OutputPHResult: PortReference[PortTypeHint.TableCollection]
OutputPermeabilityResult: PortReference[PortTypeHint.TableCollection]