修正emitters coefficients with UNITS settings
This commit is contained in:
@@ -26,6 +26,24 @@ import api_ex.Pdataclean
|
|||||||
############################################################
|
############################################################
|
||||||
# burst analysis 01
|
# burst analysis 01
|
||||||
############################################################
|
############################################################
|
||||||
|
def convert_to_local_unit(proj:str,emitters:float)->float:
|
||||||
|
open_project(proj)
|
||||||
|
proj_opt=get_option(proj)
|
||||||
|
str_unit=proj_opt.get('UNITS')
|
||||||
|
|
||||||
|
if str_unit == 'CMH':
|
||||||
|
return emitters * 3.6
|
||||||
|
elif str_unit == 'LPS':
|
||||||
|
return emitters
|
||||||
|
elif str_unit == 'CMS':
|
||||||
|
return emitters / 1000.0
|
||||||
|
elif str_unit == 'MGD':
|
||||||
|
return emitters * 0.0438126
|
||||||
|
|
||||||
|
# Unknown unit: log and return original value
|
||||||
|
print(str_unit)
|
||||||
|
return emitters
|
||||||
|
|
||||||
|
|
||||||
def burst_analysis(name: str, modify_pattern_start_time: str, burst_ID: list | str = None, burst_size: list | float | int = None,
|
def burst_analysis(name: str, modify_pattern_start_time: str, burst_ID: list | str = None, burst_size: list | float | int = None,
|
||||||
modify_total_duration: int=900, modify_fixed_pump_pattern: dict[str, list] = None,
|
modify_total_duration: int=900, modify_fixed_pump_pattern: dict[str, list] = None,
|
||||||
@@ -94,7 +112,8 @@ def burst_analysis(name: str, modify_pattern_start_time: str, burst_ID: list | s
|
|||||||
burst_size_ = 3.14 * d_pipe * d_pipe / 4 / 8
|
burst_size_ = 3.14 * d_pipe * d_pipe / 4 / 8
|
||||||
else:
|
else:
|
||||||
burst_size_ = burst_size_ / 10000
|
burst_size_ = burst_size_ / 10000
|
||||||
emitter_coeff = 0.65 * burst_size_ * sqrt(19.6) * 1000#1/8开口面积作为coeff
|
emitter_coeff = 0.65 * burst_size_ * sqrt(19.6) * 1000#1/8开口面积作为coeff,单位 L/S
|
||||||
|
emitter_coeff =convert_to_local_unit(new_name, emitter_coeff)
|
||||||
emitter_node = ''
|
emitter_node = ''
|
||||||
if is_junction(new_name, str_end_node):
|
if is_junction(new_name, str_end_node):
|
||||||
emitter_node = str_end_node
|
emitter_node = str_end_node
|
||||||
@@ -112,7 +131,7 @@ def burst_analysis(name: str, modify_pattern_start_time: str, burst_ID: list | s
|
|||||||
# 涉及关阀计算,可能导致关阀后仍有流量,改为压力驱动PDA
|
# 涉及关阀计算,可能导致关阀后仍有流量,改为压力驱动PDA
|
||||||
options = get_option(new_name)
|
options = get_option(new_name)
|
||||||
options['DEMAND MODEL'] = OPTION_DEMAND_MODEL_PDA
|
options['DEMAND MODEL'] = OPTION_DEMAND_MODEL_PDA
|
||||||
options['REQUIRED PRESSURE'] = '20.0000'
|
options['REQUIRED PRESSURE'] = '10.0000'
|
||||||
cs_options = ChangeSet()
|
cs_options = ChangeSet()
|
||||||
cs_options.append(options)
|
cs_options.append(options)
|
||||||
set_option(new_name, cs_options)
|
set_option(new_name, cs_options)
|
||||||
@@ -1182,8 +1201,8 @@ if __name__ == '__main__':
|
|||||||
# burst_analysis(name='bb', modify_pattern_start_time='2025-04-17T00:00:00+08:00',
|
# burst_analysis(name='bb', modify_pattern_start_time='2025-04-17T00:00:00+08:00',
|
||||||
# burst_ID='GSD230112144241FA18292A84CB', burst_size=400, modify_total_duration=1800, scheme_Name='GSD230112144241FA18292A84CB_400')
|
# burst_ID='GSD230112144241FA18292A84CB', burst_size=400, modify_total_duration=1800, scheme_Name='GSD230112144241FA18292A84CB_400')
|
||||||
|
|
||||||
# # 示例:create_user
|
# 示例:create_user
|
||||||
# create_user(name=project_info.name, username='admin', password='123456')
|
# create_user(name=project_info.name, username='tjwater dev', password='123456')
|
||||||
|
|
||||||
# # 示例:delete_user
|
# # 示例:delete_user
|
||||||
# delete_user(name=project_info.name, username='admin_test')
|
# delete_user(name=project_info.name, username='admin_test')
|
||||||
@@ -1206,4 +1225,7 @@ if __name__ == '__main__':
|
|||||||
# pressure_sensor_placement_sensitivity(name=project_info.name, scheme_name='20250517', sensor_number=10, min_diameter=300, username='admin')
|
# pressure_sensor_placement_sensitivity(name=project_info.name, scheme_name='20250517', sensor_number=10, min_diameter=300, username='admin')
|
||||||
|
|
||||||
# 示例:pressure_sensor_placement_kmeans
|
# 示例:pressure_sensor_placement_kmeans
|
||||||
pressure_sensor_placement_kmeans(name=project_info.name, scheme_name='sensor_1103', sensor_number=35, min_diameter=300, username='admin')
|
# pressure_sensor_placement_kmeans(name=project_info.name, scheme_name='sensor_1103', sensor_number=35, min_diameter=300, username='admin')
|
||||||
|
|
||||||
|
# 测试:convert emitters coefficients
|
||||||
|
convert_to_local_unit("szh",100)
|
||||||
Reference in New Issue
Block a user