qtmodel 0.5.32__tar.gz → 0.5.34__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of qtmodel might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qtmodel
3
- Version: 0.5.32
3
+ Version: 0.5.34
4
4
  Summary: python modeling for qt 24/10/31
5
5
  Home-page: https://github.com/Inface0443/pyqt
6
6
  Author: dqy-zhj
@@ -12,8 +12,7 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: OS Independent
13
13
  Description-Content-Type: text/markdown
14
14
 
15
- C:\Users\Robert\.conda\envs\py39\python.exe C:/Users/Robert/Desktop/MyWork/Python建模/test.py
16
- # 最新版本 V0.5.32 - 2024.10.30
15
+ # 最新版本 V0.5.34 - 2024.11.1
17
16
  > pip install --upgrade qtmodel -i https://pypi.org/simple
18
17
  - 修改帮助文档
19
18
  ## 项目管理
@@ -168,13 +167,13 @@ Returns: 无
168
167
  > non_linear_method: 非线性方法 0-修正牛顿法 1-牛顿法
169
168
  > max_loading_steps: 最大加载步数
170
169
  > max_iteration_times: 最大迭代次数
171
- > relative_accuracy_of_displacement: 位移相对精度
172
- > relative_accuracy_of_force: 内力相对精度
170
+ > accuracy_of_displacement: 位移相对精度
171
+ > accuracy_of_force: 内力相对精度
173
172
  ```Python
174
173
  # 示例代码
175
174
  from qtmodel import *
176
175
  mdb.update_non_linear_setting(non_linear_type=-1, non_linear_method=1, max_loading_steps=-1, max_iteration_times=30,
177
- relative_accuracy_of_displacement=0.0001, relative_accuracy_of_force=0.0001)
176
+ accuracy_of_displacement=0.0001, accuracy_of_force=0.0001)
178
177
  ```
179
178
  Returns: 无
180
179
  ### update_operation_stage_setting
@@ -204,6 +203,19 @@ from qtmodel import *
204
203
  mdb.update_self_vibration_setting(do_analysis=True,method=1,matrix_type=0,mode_num=3)
205
204
  ```
206
205
  Returns: 无
206
+ ### update_response_spectrum_setting
207
+ 更新反应谱设置
208
+ > 参数:
209
+ > do_analysis:是否进行反应谱分析
210
+ > kind:组合方式 1-SRSS 2-CQC
211
+ > by_mode: 是否按照振型输入阻尼比
212
+ > damping_ratio:常数阻尼比或振型阻尼比列表
213
+ ```Python
214
+ # 示例代码
215
+ from qtmodel import *
216
+ mdb.update_response_spectrum_setting(do_analysis=True,kind=1,damping_ratio=0.05)
217
+ ```
218
+ Returns: 无
207
219
  ## 节点操作
208
220
  ### add_node
209
221
  根据坐标信息和节点编号添加节点,默认自动识别编号
@@ -704,6 +716,29 @@ from qtmodel import *
704
716
  mdb.remove_boundary(remove_id = 1, bd_type = 1,group="边界组1")
705
717
  ```
706
718
  Returns: 无
719
+ ### add_general_elastic_support_property
720
+ 添加一般弹性支承特性
721
+ > 参数:
722
+ > name:一般弹性支承特性名称
723
+ > data_matrix:一般弹性支承刚度矩阵(数据需按列输入至列表,共计21个参数)
724
+ ```Python
725
+ # 示例代码
726
+ from qtmodel import *
727
+ mdb.add_general_elastic_support_property(name = "特性1", data_matrix=[i for i in range(1,22)])
728
+ ```
729
+ Returns: 无
730
+ ### add_general_elastic_support
731
+ 添加一般弹性支承特性
732
+ > 参数:
733
+ > node_id:节点号
734
+ > property_name:一般弹性支承特性名
735
+ > group_name:一般弹性支承边界组名
736
+ ```Python
737
+ # 示例代码
738
+ from qtmodel import *
739
+ mdb.add_general_elastic_support(node_id = 1, property_name = "特性1",group_name="边界组1")
740
+ ```
741
+ Returns: 无
707
742
  ### add_general_support
708
743
  添加一般支承
709
744
  > 参数:
@@ -1019,6 +1054,77 @@ from qtmodel import *
1019
1054
  mdb.remove_live_load_case(name="活载工况1")
1020
1055
  ```
1021
1056
  Returns: 无
1057
+ ## 动力荷载操作
1058
+ ### add_load_to_mass
1059
+ 添加荷载转为质量
1060
+ > 参数:
1061
+ > name: 荷载工况名称
1062
+ > factor: 系数
1063
+ ```Python
1064
+ # 示例代码
1065
+ from qtmodel import *
1066
+ mdb.add_load_to_mass(name="荷载工况",factor=1)
1067
+ ```
1068
+ Returns: 无
1069
+ ### add_nodal_mass
1070
+ 添加节点质量
1071
+ > 参数:
1072
+ > node_id:节点编号,支持单个编号和编号列表
1073
+ > mass_info:[m,rmX,rmY,rmZ]
1074
+ ```Python
1075
+ # 示例代码
1076
+ from qtmodel import *
1077
+ mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
1078
+ ```
1079
+ Returns: 无
1080
+ ### remove_nodal_mass
1081
+ 删除节点质量
1082
+ > 参数:
1083
+ > node_id:节点号,默认删除所有节点质量
1084
+ ```Python
1085
+ # 示例代码
1086
+ from qtmodel import *
1087
+ mdb.remove_nodal_mass(node_id=1)
1088
+ ```
1089
+ Returns: 无
1090
+ ### remove_load_to_mass
1091
+ 删除荷载转为质量
1092
+ > 参数:
1093
+ > name:荷载工况名
1094
+ ```Python
1095
+ # 示例代码
1096
+ from qtmodel import *
1097
+ mdb.remove_load_to_mass(name="荷载工况")
1098
+ ```
1099
+ Returns: 无
1100
+ ### add_spectrum_function
1101
+ 添加反应谱函数
1102
+ > 参数:
1103
+ > name:反应谱函数名
1104
+ > factor:反应谱调整系数
1105
+ > kind:反应谱类型 0-无量纲 1-加速度 2-位移
1106
+ > function_info:反应谱函数信息
1107
+ ```Python
1108
+ # 示例代码
1109
+ from qtmodel import *
1110
+ mdb.add_spectrum_function(name="反应谱函数1",factor=1.0,function_info=[(0,0.02),(1,0.03)])
1111
+ ```
1112
+ Returns: 无
1113
+ ### add_spectrum_case
1114
+ 添加反应谱工况
1115
+ > 参数:
1116
+ > name:荷载工况名
1117
+ > description:说明
1118
+ > kind:组合方式 1-求模 2-求和
1119
+ > info_x: 反应谱X向信息 (X方向函数名,系数)
1120
+ > info_y: 反应谱Y向信息 (Y方向函数名,系数)
1121
+ > info_z: 反应谱Z向信息 (Z方向函数名,系数)
1122
+ ```Python
1123
+ # 示例代码
1124
+ from qtmodel import *
1125
+ mdb.add_spectrum_case(name="反应谱工况",info_x=("函数1",1.0))
1126
+ ```
1127
+ Returns: 无
1022
1128
  ## 钢束操作
1023
1129
  ### add_tendon_group
1024
1130
  按照名称添加钢束组,添加时可指定钢束组id
@@ -1177,48 +1283,6 @@ from qtmodel import *
1177
1283
  mdb.remove_load_group(name="荷载组1")
1178
1284
  ```
1179
1285
  Returns: 无
1180
- ### add_load_to_mass
1181
- 添加荷载转为质量
1182
- > 参数:
1183
- > name: 荷载工况名称
1184
- > factor: 系数
1185
- ```Python
1186
- # 示例代码
1187
- from qtmodel import *
1188
- mdb.add_load_to_mass(name="荷载工况",factor=1)
1189
- ```
1190
- Returns: 无
1191
- ### add_nodal_mass
1192
- 添加节点质量
1193
- > 参数:
1194
- > node_id:节点编号,支持单个编号和编号列表
1195
- > mass_info:[m,rmX,rmY,rmZ]
1196
- ```Python
1197
- # 示例代码
1198
- from qtmodel import *
1199
- mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
1200
- ```
1201
- Returns: 无
1202
- ### remove_nodal_mass
1203
- 删除节点质量
1204
- > 参数:
1205
- > node_id:节点号,默认删除所有节点质量
1206
- ```Python
1207
- # 示例代码
1208
- from qtmodel import *
1209
- mdb.remove_nodal_mass(node_id=1)
1210
- ```
1211
- Returns: 无
1212
- ### remove_load_to_mass
1213
- 删除荷载转为质量
1214
- > 参数:
1215
- > name:荷载工况名
1216
- ```Python
1217
- # 示例代码
1218
- from qtmodel import *
1219
- mdb.remove_load_to_mass(name="荷载工况")
1220
- ```
1221
- Returns: 无
1222
1286
  ### add_pre_stress
1223
1287
  添加预应力
1224
1288
  > 参数:
@@ -1783,7 +1847,7 @@ Returns: 无
1783
1847
  > describe:描述
1784
1848
  > combine_info:荷载组合信息 [(荷载工况类型,工况名,系数)...] 工况类型如下
1785
1849
  > _"ST"-静力荷载工况 "CS"-施工阶段荷载工况 "CB"-荷载组合_
1786
- > _"MV"-移动荷载工况 "SM"-沉降荷载工况_
1850
+ > _"MV"-移动荷载工况 "SM"-沉降荷载工况_ "RS"-反应谱工况_
1787
1851
  ```Python
1788
1852
  # 示例代码
1789
1853
  from qtmodel import *
@@ -2696,5 +2760,6 @@ odb.get_deviation_load(case_name="荷载工况1")
2696
2760
  ```
2697
2761
  Returns: json字符串,包含信息为list[dict]
2698
2762
 
2763
+ Process finished with exit code 0
2699
2764
 
2700
2765
 
@@ -1,5 +1,4 @@
1
- C:\Users\Robert\.conda\envs\py39\python.exe C:/Users/Robert/Desktop/MyWork/Python建模/test.py
2
- # 最新版本 V0.5.32 - 2024.10.30
1
+ # 最新版本 V0.5.34 - 2024.11.1
3
2
  > pip install --upgrade qtmodel -i https://pypi.org/simple
4
3
  - 修改帮助文档
5
4
  ## 项目管理
@@ -154,13 +153,13 @@ Returns: 无
154
153
  > non_linear_method: 非线性方法 0-修正牛顿法 1-牛顿法
155
154
  > max_loading_steps: 最大加载步数
156
155
  > max_iteration_times: 最大迭代次数
157
- > relative_accuracy_of_displacement: 位移相对精度
158
- > relative_accuracy_of_force: 内力相对精度
156
+ > accuracy_of_displacement: 位移相对精度
157
+ > accuracy_of_force: 内力相对精度
159
158
  ```Python
160
159
  # 示例代码
161
160
  from qtmodel import *
162
161
  mdb.update_non_linear_setting(non_linear_type=-1, non_linear_method=1, max_loading_steps=-1, max_iteration_times=30,
163
- relative_accuracy_of_displacement=0.0001, relative_accuracy_of_force=0.0001)
162
+ accuracy_of_displacement=0.0001, accuracy_of_force=0.0001)
164
163
  ```
165
164
  Returns: 无
166
165
  ### update_operation_stage_setting
@@ -190,6 +189,19 @@ from qtmodel import *
190
189
  mdb.update_self_vibration_setting(do_analysis=True,method=1,matrix_type=0,mode_num=3)
191
190
  ```
192
191
  Returns: 无
192
+ ### update_response_spectrum_setting
193
+ 更新反应谱设置
194
+ > 参数:
195
+ > do_analysis:是否进行反应谱分析
196
+ > kind:组合方式 1-SRSS 2-CQC
197
+ > by_mode: 是否按照振型输入阻尼比
198
+ > damping_ratio:常数阻尼比或振型阻尼比列表
199
+ ```Python
200
+ # 示例代码
201
+ from qtmodel import *
202
+ mdb.update_response_spectrum_setting(do_analysis=True,kind=1,damping_ratio=0.05)
203
+ ```
204
+ Returns: 无
193
205
  ## 节点操作
194
206
  ### add_node
195
207
  根据坐标信息和节点编号添加节点,默认自动识别编号
@@ -690,6 +702,29 @@ from qtmodel import *
690
702
  mdb.remove_boundary(remove_id = 1, bd_type = 1,group="边界组1")
691
703
  ```
692
704
  Returns: 无
705
+ ### add_general_elastic_support_property
706
+ 添加一般弹性支承特性
707
+ > 参数:
708
+ > name:一般弹性支承特性名称
709
+ > data_matrix:一般弹性支承刚度矩阵(数据需按列输入至列表,共计21个参数)
710
+ ```Python
711
+ # 示例代码
712
+ from qtmodel import *
713
+ mdb.add_general_elastic_support_property(name = "特性1", data_matrix=[i for i in range(1,22)])
714
+ ```
715
+ Returns: 无
716
+ ### add_general_elastic_support
717
+ 添加一般弹性支承特性
718
+ > 参数:
719
+ > node_id:节点号
720
+ > property_name:一般弹性支承特性名
721
+ > group_name:一般弹性支承边界组名
722
+ ```Python
723
+ # 示例代码
724
+ from qtmodel import *
725
+ mdb.add_general_elastic_support(node_id = 1, property_name = "特性1",group_name="边界组1")
726
+ ```
727
+ Returns: 无
693
728
  ### add_general_support
694
729
  添加一般支承
695
730
  > 参数:
@@ -1005,6 +1040,77 @@ from qtmodel import *
1005
1040
  mdb.remove_live_load_case(name="活载工况1")
1006
1041
  ```
1007
1042
  Returns: 无
1043
+ ## 动力荷载操作
1044
+ ### add_load_to_mass
1045
+ 添加荷载转为质量
1046
+ > 参数:
1047
+ > name: 荷载工况名称
1048
+ > factor: 系数
1049
+ ```Python
1050
+ # 示例代码
1051
+ from qtmodel import *
1052
+ mdb.add_load_to_mass(name="荷载工况",factor=1)
1053
+ ```
1054
+ Returns: 无
1055
+ ### add_nodal_mass
1056
+ 添加节点质量
1057
+ > 参数:
1058
+ > node_id:节点编号,支持单个编号和编号列表
1059
+ > mass_info:[m,rmX,rmY,rmZ]
1060
+ ```Python
1061
+ # 示例代码
1062
+ from qtmodel import *
1063
+ mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
1064
+ ```
1065
+ Returns: 无
1066
+ ### remove_nodal_mass
1067
+ 删除节点质量
1068
+ > 参数:
1069
+ > node_id:节点号,默认删除所有节点质量
1070
+ ```Python
1071
+ # 示例代码
1072
+ from qtmodel import *
1073
+ mdb.remove_nodal_mass(node_id=1)
1074
+ ```
1075
+ Returns: 无
1076
+ ### remove_load_to_mass
1077
+ 删除荷载转为质量
1078
+ > 参数:
1079
+ > name:荷载工况名
1080
+ ```Python
1081
+ # 示例代码
1082
+ from qtmodel import *
1083
+ mdb.remove_load_to_mass(name="荷载工况")
1084
+ ```
1085
+ Returns: 无
1086
+ ### add_spectrum_function
1087
+ 添加反应谱函数
1088
+ > 参数:
1089
+ > name:反应谱函数名
1090
+ > factor:反应谱调整系数
1091
+ > kind:反应谱类型 0-无量纲 1-加速度 2-位移
1092
+ > function_info:反应谱函数信息
1093
+ ```Python
1094
+ # 示例代码
1095
+ from qtmodel import *
1096
+ mdb.add_spectrum_function(name="反应谱函数1",factor=1.0,function_info=[(0,0.02),(1,0.03)])
1097
+ ```
1098
+ Returns: 无
1099
+ ### add_spectrum_case
1100
+ 添加反应谱工况
1101
+ > 参数:
1102
+ > name:荷载工况名
1103
+ > description:说明
1104
+ > kind:组合方式 1-求模 2-求和
1105
+ > info_x: 反应谱X向信息 (X方向函数名,系数)
1106
+ > info_y: 反应谱Y向信息 (Y方向函数名,系数)
1107
+ > info_z: 反应谱Z向信息 (Z方向函数名,系数)
1108
+ ```Python
1109
+ # 示例代码
1110
+ from qtmodel import *
1111
+ mdb.add_spectrum_case(name="反应谱工况",info_x=("函数1",1.0))
1112
+ ```
1113
+ Returns: 无
1008
1114
  ## 钢束操作
1009
1115
  ### add_tendon_group
1010
1116
  按照名称添加钢束组,添加时可指定钢束组id
@@ -1163,48 +1269,6 @@ from qtmodel import *
1163
1269
  mdb.remove_load_group(name="荷载组1")
1164
1270
  ```
1165
1271
  Returns: 无
1166
- ### add_load_to_mass
1167
- 添加荷载转为质量
1168
- > 参数:
1169
- > name: 荷载工况名称
1170
- > factor: 系数
1171
- ```Python
1172
- # 示例代码
1173
- from qtmodel import *
1174
- mdb.add_load_to_mass(name="荷载工况",factor=1)
1175
- ```
1176
- Returns: 无
1177
- ### add_nodal_mass
1178
- 添加节点质量
1179
- > 参数:
1180
- > node_id:节点编号,支持单个编号和编号列表
1181
- > mass_info:[m,rmX,rmY,rmZ]
1182
- ```Python
1183
- # 示例代码
1184
- from qtmodel import *
1185
- mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
1186
- ```
1187
- Returns: 无
1188
- ### remove_nodal_mass
1189
- 删除节点质量
1190
- > 参数:
1191
- > node_id:节点号,默认删除所有节点质量
1192
- ```Python
1193
- # 示例代码
1194
- from qtmodel import *
1195
- mdb.remove_nodal_mass(node_id=1)
1196
- ```
1197
- Returns: 无
1198
- ### remove_load_to_mass
1199
- 删除荷载转为质量
1200
- > 参数:
1201
- > name:荷载工况名
1202
- ```Python
1203
- # 示例代码
1204
- from qtmodel import *
1205
- mdb.remove_load_to_mass(name="荷载工况")
1206
- ```
1207
- Returns: 无
1208
1272
  ### add_pre_stress
1209
1273
  添加预应力
1210
1274
  > 参数:
@@ -1769,7 +1833,7 @@ Returns: 无
1769
1833
  > describe:描述
1770
1834
  > combine_info:荷载组合信息 [(荷载工况类型,工况名,系数)...] 工况类型如下
1771
1835
  > _"ST"-静力荷载工况 "CS"-施工阶段荷载工况 "CB"-荷载组合_
1772
- > _"MV"-移动荷载工况 "SM"-沉降荷载工况_
1836
+ > _"MV"-移动荷载工况 "SM"-沉降荷载工况_ "RS"-反应谱工况_
1773
1837
  ```Python
1774
1838
  # 示例代码
1775
1839
  from qtmodel import *
@@ -2682,3 +2746,4 @@ odb.get_deviation_load(case_name="荷载工况1")
2682
2746
  ```
2683
2747
  Returns: json字符串,包含信息为list[dict]
2684
2748
 
2749
+ Process finished with exit code 0
@@ -233,7 +233,7 @@ class Mdb:
233
233
 
234
234
  @staticmethod
235
235
  def update_non_linear_setting(non_linear_type: int = 1, non_linear_method: int = 1, max_loading_steps: int = 1, max_iteration_times: int = 30,
236
- relative_accuracy_of_displacement: float = 0.0001, relative_accuracy_of_force: float = 0.0001):
236
+ accuracy_of_displacement: float = 0.0001, accuracy_of_force: float = 0.0001):
237
237
  """
238
238
  更新非线性设置
239
239
  Args:
@@ -241,23 +241,23 @@ class Mdb:
241
241
  non_linear_method: 非线性方法 0-修正牛顿法 1-牛顿法
242
242
  max_loading_steps: 最大加载步数
243
243
  max_iteration_times: 最大迭代次数
244
- relative_accuracy_of_displacement: 位移相对精度
245
- relative_accuracy_of_force: 内力相对精度
244
+ accuracy_of_displacement: 位移相对精度
245
+ accuracy_of_force: 内力相对精度
246
246
  Example:
247
247
  mdb.update_non_linear_setting(non_linear_type=-1, non_linear_method=1, max_loading_steps=-1, max_iteration_times=30,
248
- relative_accuracy_of_displacement=0.0001, relative_accuracy_of_force=0.0001)
248
+ accuracy_of_displacement=0.0001, accuracy_of_force=0.0001)
249
249
  Returns: 无
250
250
  """
251
251
  try:
252
252
  qt_model.UpdateNonLinearSetting(
253
253
  nonLinearType=non_linear_type, nonLinearMethod=non_linear_method, maxLoadingSteps=max_loading_steps,
254
- maxIterationTimes=max_iteration_times, relativeAccuracyOfDisplacement=relative_accuracy_of_displacement,
255
- relativeAccuracyOfInternalForce=relative_accuracy_of_force)
254
+ maxIterationTimes=max_iteration_times, relativeAccuracyOfDisplacement=accuracy_of_displacement,
255
+ relativeAccuracyOfInternalForce=accuracy_of_force)
256
256
  except Exception as ex:
257
257
  raise Exception(ex)
258
258
 
259
259
  @staticmethod
260
- def update_operation_stage_setting(do_analysis: bool, final_stage: str = "", static_load_cases: list[str] = None,
260
+ def update_operation_stage_setting(do_analysis: bool = True, final_stage: str = "", static_load_cases: list[str] = None,
261
261
  sink_load_cases: list[str] = None, live_load_cases: list[str] = None, ):
262
262
  """
263
263
  更新运营阶段分析设置
@@ -279,7 +279,7 @@ class Mdb:
279
279
  raise Exception(ex)
280
280
 
281
281
  @staticmethod
282
- def update_self_vibration_setting(do_analysis: bool = False, method: int = 1, matrix_type: int = 0, mode_num: int = 3):
282
+ def update_self_vibration_setting(do_analysis: bool = True, method: int = 1, matrix_type: int = 0, mode_num: int = 3):
283
283
  """
284
284
  更新自振分析设置
285
285
  Args:
@@ -296,6 +296,30 @@ class Mdb:
296
296
  except Exception as ex:
297
297
  raise Exception(ex)
298
298
 
299
+ @staticmethod
300
+ def update_response_spectrum_setting(do_analysis: bool = True, kind: int = 1, by_mode: bool = False,
301
+ damping_ratio: (Union[float, List[float]]) = 0.05):
302
+ """
303
+ 更新反应谱设置
304
+ Args:
305
+ do_analysis:是否进行反应谱分析
306
+ kind:组合方式 1-SRSS 2-CQC
307
+ by_mode: 是否按照振型输入阻尼比
308
+ damping_ratio:常数阻尼比或振型阻尼比列表
309
+ Example:
310
+ mdb.update_response_spectrum_setting(do_analysis=True,kind=1,damping_ratio=0.05)
311
+ Returns: 无
312
+ """
313
+ try:
314
+ if isinstance(damping_ratio, float) and damping_ratio > 0:
315
+ qt_model.UpdateResponseSpectrumSetting(doAnalysis=do_analysis, kind=kind, isDampingByMode=by_mode, dampingRatio=damping_ratio)
316
+ elif isinstance(damping_ratio, list) and all(x > 0 for x in damping_ratio):
317
+ qt_model.UpdateResponseSpectrumSetting(doAnalysis=do_analysis, kind=kind, isDampingByMode=by_mode, dampingRatio=damping_ratio)
318
+ else:
319
+ raise Exception("操作失败,要求阻尼比大于零")
320
+ except Exception as ex:
321
+ raise Exception(ex)
322
+
299
323
  # endregion
300
324
 
301
325
  # region 节点操作
@@ -930,7 +954,7 @@ class Mdb:
930
954
  """
931
955
  try:
932
956
  qt_model.AddTapperSection(id=index, name=name, secType=sec_type, secBegin=sec_begin, secEnd=sec_end,
933
- shearConsider=shear_consider,secNormalize=sec_normalize)
957
+ shearConsider=shear_consider, secNormalize=sec_normalize)
934
958
  except Exception as ex:
935
959
  raise Exception(ex)
936
960
 
@@ -1160,6 +1184,41 @@ class Mdb:
1160
1184
  except Exception as ex:
1161
1185
  raise Exception(ex)
1162
1186
 
1187
+ @staticmethod
1188
+ def add_general_elastic_support_property(name: str = "", data_matrix: list[float] = None):
1189
+ """
1190
+ 添加一般弹性支承特性
1191
+ Args:
1192
+ name:一般弹性支承特性名称
1193
+ data_matrix:一般弹性支承刚度矩阵(数据需按列输入至列表,共计21个参数)
1194
+ Example:
1195
+ mdb.add_general_elastic_support_property(name = "特性1", data_matrix=[i for i in range(1,22)])
1196
+ Returns: 无
1197
+ """
1198
+ if data_matrix is None or len(data_matrix) is not 21:
1199
+ raise Exception("添加一般弹性支承失败,矩阵参数有误(数据需按列输入至列表)")
1200
+ try:
1201
+ qt_model.AddGeneralElasticSupportProperty(name=name, dataMatrix=data_matrix)
1202
+ except Exception as ex:
1203
+ raise Exception(ex)
1204
+
1205
+ @staticmethod
1206
+ def add_general_elastic_support(node_id: (Union[int, List[int]]) = 1, property_name: str = "", group_name: str = "默认边界组"):
1207
+ """
1208
+ 添加一般弹性支承特性
1209
+ Args:
1210
+ node_id:节点号
1211
+ property_name:一般弹性支承特性名
1212
+ group_name:一般弹性支承边界组名
1213
+ Example:
1214
+ mdb.add_general_elastic_support(node_id = 1, property_name = "特性1",group_name="边界组1")
1215
+ Returns: 无
1216
+ """
1217
+ try:
1218
+ qt_model.AddGeneralElasticSupportProperty(nodeIds=node_id, propertyName=property_name, groupName=group_name)
1219
+ except Exception as ex:
1220
+ raise Exception(ex)
1221
+
1163
1222
  @staticmethod
1164
1223
  def add_general_support(node_id: (Union[int, List[int]]) = 1, boundary_info: list[bool] = None, group_name: str = "默认边界组"):
1165
1224
  """
@@ -1724,6 +1783,47 @@ class Mdb:
1724
1783
  except Exception as ex:
1725
1784
  raise Exception(ex)
1726
1785
 
1786
+ @staticmethod
1787
+ def add_spectrum_function(name: str = "", factor: float = 1.0, kind: int = 0, function_info: list[tuple[float, float]] = None):
1788
+ """
1789
+ 添加反应谱函数
1790
+ Args:
1791
+ name:反应谱函数名
1792
+ factor:反应谱调整系数
1793
+ kind:反应谱类型 0-无量纲 1-加速度 2-位移
1794
+ function_info:反应谱函数信息
1795
+ Example:
1796
+ mdb.add_spectrum_function(name="反应谱函数1",factor=1.0,function_info=[(0,0.02),(1,0.03)])
1797
+ Returns: 无
1798
+ """
1799
+ try:
1800
+ qt_model.AddResponseSpectrumFunction(name=name, factor=factor, kind=kind, functionInfo=function_info)
1801
+ except Exception as ex:
1802
+ raise Exception(ex)
1803
+
1804
+ @staticmethod
1805
+ def add_spectrum_case(name: str = "", description: str = "", kind: int = 1, info_x: tuple[str, float] = None,
1806
+ info_y: tuple[str, float] = None, info_z: tuple[str, float] = None):
1807
+ """
1808
+ 添加反应谱工况
1809
+ Args:
1810
+ name:荷载工况名
1811
+ description:说明
1812
+ kind:组合方式 1-求模 2-求和
1813
+ info_x: 反应谱X向信息 (X方向函数名,系数)
1814
+ info_y: 反应谱Y向信息 (Y方向函数名,系数)
1815
+ info_z: 反应谱Z向信息 (Z方向函数名,系数)
1816
+ Example:
1817
+ mdb.add_spectrum_case(name="反应谱工况",info_x=("函数1",1.0))
1818
+ Returns: 无
1819
+ """
1820
+ try:
1821
+ if info_x is None and info_y is None and info_z is None:
1822
+ raise Exception("添加反应谱函数错误,无反应谱分项信息")
1823
+ qt_model.AddResponseSpectrumCase(name=name, description=description, kind=kind, infoX=info_x, info_y=info_y, info_z=info_z)
1824
+ except Exception as ex:
1825
+ raise Exception(ex)
1826
+
1727
1827
  # endregion
1728
1828
 
1729
1829
  # region 钢束操作
@@ -2885,7 +2985,7 @@ class Mdb:
2885
2985
  describe:描述
2886
2986
  combine_info:荷载组合信息 [(荷载工况类型,工况名,系数)...] 工况类型如下
2887
2987
  _"ST"-静力荷载工况 "CS"-施工阶段荷载工况 "CB"-荷载组合_
2888
- _"MV"-移动荷载工况 "SM"-沉降荷载工况_
2988
+ _"MV"-移动荷载工况 "SM"-沉降荷载工况_ "RS"-反应谱工况_
2889
2989
  Example:
2890
2990
  mdb.add_load_combine(name="荷载组合1",combine_type=1,describe="无",combine_info=[("CS","合计值",1),("CS","恒载",1)])
2891
2991
  Returns: 无
@@ -282,7 +282,7 @@ class Odb:
282
282
  def plot_reaction_result(file_path: str, stage_id: int = 1, load_case_name: str = "", show_increment: bool = False,
283
283
  envelope_type: int = 1, component: int = 1,
284
284
  show_number: bool = True, text_rotation=0, max_min_kind: int = -1,
285
- show_legend: bool = True, digital_count=0, show_exponential: bool = True, arrow_scale: float = 1):
285
+ show_legend: bool = True, digital_count=3, show_exponential: bool = True, arrow_scale: float = 1):
286
286
  """
287
287
  保存结果图片到指定文件甲
288
288
  Args:
@@ -317,7 +317,7 @@ class Odb:
317
317
  envelope_type: int = 1, component: int = 1,
318
318
  show_deformed: bool = True, deformed_scale: float = 1.0, deformed_actual: bool = False,
319
319
  show_number: bool = True, text_rotation=0, max_min_kind: int = 1,
320
- show_legend: bool = True, digital_count=0, show_exponential: bool = True, show_pre_deformed: bool = True):
320
+ show_legend: bool = True, digital_count=3, show_exponential: bool = True, show_pre_deformed: bool = True):
321
321
  """
322
322
  保存结果图片到指定文件甲
323
323
  Args:
@@ -357,7 +357,7 @@ class Odb:
357
357
  show_line_chart: bool = True, line_scale: float = 1.0, flip_plot: bool = True,
358
358
  show_deformed: bool = True, deformed_actual: bool = False, deformed_scale: float = 1.0,
359
359
  show_number: bool = False, text_rotation: int = 0, max_min_kind: int = 0,
360
- show_legend: bool = True, digital_count: int = 0, show_exponential: bool = True,
360
+ show_legend: bool = True, digital_count: int = 3, show_exponential: bool = True,
361
361
  show_pre_deformed: bool = False, position: int = 0):
362
362
  """
363
363
  绘制梁单元结果图并保存到指定文件
@@ -404,7 +404,7 @@ class Odb:
404
404
  show_line_chart: bool = True, line_scale: float = 1.0, flip_plot: bool = True,
405
405
  show_deformed: bool = True, deformed_actual: bool = False, deformed_scale: float = 1.0,
406
406
  show_number: bool = False, text_rotation: int = 0, max_min_kind: int = 0,
407
- show_legend: bool = True, digital_count: int = 0, show_exponential: bool = True,
407
+ show_legend: bool = True, digital_count: int = 3, show_exponential: bool = True,
408
408
  show_pre_deformed: bool = False, position: int = 0):
409
409
  """
410
410
  绘制杆单元结果图并保存到指定文件
@@ -450,7 +450,7 @@ class Odb:
450
450
  envelope_type: int = 1, force_kind: int = 0, component: int = 0,
451
451
  show_number: bool = False, text_rotation_angle: int = 0, max_min_kind: int = 0,
452
452
  show_deformed: bool = True, deformed_scale: float = 1.0, deformed_actual: bool = False,
453
- show_legend: bool = True, digital_count: int = 0, show_as_exponential: bool = True,
453
+ show_legend: bool = True, digital_count: int = 3, show_as_exponential: bool = True,
454
454
  show_pre_deformed: bool = False, ):
455
455
  """
456
456
  绘制板单元结果图并保存到指定文件
@@ -493,7 +493,7 @@ class Odb:
493
493
  show_line_chart: bool = True, line_scale: float = 1.0, flip_plot: bool = True,
494
494
  show_deformed: bool = True, deformed_actual: bool = False, deformed_scale: float = 1.0,
495
495
  show_number: bool = False, text_rotation: int = 0, max_min_kind: int = 0,
496
- show_legend: bool = True, digital_count: int = 1, show_exponential: bool = True,
496
+ show_legend: bool = True, digital_count: int = 3, show_exponential: bool = True,
497
497
  show_pre_deformed: bool = False, position: int = 0):
498
498
  """
499
499
  绘制组合梁单元结果图并保存到指定文件
@@ -541,7 +541,7 @@ class Odb:
541
541
  show_line_chart: bool = True, line_scale: float = 1.0, flip_plot: bool = True,
542
542
  show_deformed: bool = True, deformed_actual: bool = False, deformed_scale: float = 1.0,
543
543
  show_number: bool = False, text_rotation: int = 0, max_min_kind: int = 0,
544
- show_legend: bool = True, digital_count: int = 0, show_exponential: bool = True,
544
+ show_legend: bool = True, digital_count: int = 3, show_exponential: bool = True,
545
545
  show_pre_deformed: bool = False, position: int = 0):
546
546
  """
547
547
  绘制梁单元应力结果图并保存到指定文件
@@ -587,7 +587,7 @@ class Odb:
587
587
  show_line_chart: bool = True, line_scale: float = 1.0, flip_plot: bool = True,
588
588
  show_deformed: bool = True, deformed_actual: bool = False, deformed_scale: float = 1.0,
589
589
  show_number: bool = False, text_rotation: int = 0, max_min_kind: int = 0,
590
- show_legend: bool = True, digital_count: int = 0, show_exponential: bool = True,
590
+ show_legend: bool = True, digital_count: int = 3, show_exponential: bool = True,
591
591
  show_pre_deformed: bool = False, position: int = 0):
592
592
  """
593
593
  绘制杆单元结果图并保存到指定文件
@@ -632,7 +632,7 @@ class Odb:
632
632
  show_line_chart: bool = True, line_scale: float = 1.0, flip_plot: bool = True,
633
633
  show_deformed: bool = True, deformed_actual: bool = False, deformed_scale: float = 1.0,
634
634
  show_number: bool = False, text_rotation: int = 0, max_min_kind: int = 0,
635
- show_legend: bool = True, digital_count: int = 0, show_exponential: bool = True,
635
+ show_legend: bool = True, digital_count: int = 3, show_exponential: bool = True,
636
636
  show_pre_deformed: bool = False, position: int = 0):
637
637
  """
638
638
  绘制组合梁单元结果图并保存到指定文件
@@ -679,7 +679,7 @@ class Odb:
679
679
  envelope_type: int = 1, stress_kind: int = 0, component: int = 0,
680
680
  show_number: bool = False, text_rotation_angle: int = 0, max_min_kind: int = 0,
681
681
  show_deformed: bool = True, deformed_scale: float = 1.0, deformed_actual: bool = False,
682
- show_legend: bool = True, digital_count: int = 1, show_as_exponential: bool = True,
682
+ show_legend: bool = True, digital_count: int = 3, show_as_exponential: bool = True,
683
683
  show_pre_deformed: bool = False, position: int = 0):
684
684
  """
685
685
  绘制板单元结果图并保存到指定文件
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qtmodel
3
- Version: 0.5.32
3
+ Version: 0.5.34
4
4
  Summary: python modeling for qt 24/10/31
5
5
  Home-page: https://github.com/Inface0443/pyqt
6
6
  Author: dqy-zhj
@@ -12,8 +12,7 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: OS Independent
13
13
  Description-Content-Type: text/markdown
14
14
 
15
- C:\Users\Robert\.conda\envs\py39\python.exe C:/Users/Robert/Desktop/MyWork/Python建模/test.py
16
- # 最新版本 V0.5.32 - 2024.10.30
15
+ # 最新版本 V0.5.34 - 2024.11.1
17
16
  > pip install --upgrade qtmodel -i https://pypi.org/simple
18
17
  - 修改帮助文档
19
18
  ## 项目管理
@@ -168,13 +167,13 @@ Returns: 无
168
167
  > non_linear_method: 非线性方法 0-修正牛顿法 1-牛顿法
169
168
  > max_loading_steps: 最大加载步数
170
169
  > max_iteration_times: 最大迭代次数
171
- > relative_accuracy_of_displacement: 位移相对精度
172
- > relative_accuracy_of_force: 内力相对精度
170
+ > accuracy_of_displacement: 位移相对精度
171
+ > accuracy_of_force: 内力相对精度
173
172
  ```Python
174
173
  # 示例代码
175
174
  from qtmodel import *
176
175
  mdb.update_non_linear_setting(non_linear_type=-1, non_linear_method=1, max_loading_steps=-1, max_iteration_times=30,
177
- relative_accuracy_of_displacement=0.0001, relative_accuracy_of_force=0.0001)
176
+ accuracy_of_displacement=0.0001, accuracy_of_force=0.0001)
178
177
  ```
179
178
  Returns: 无
180
179
  ### update_operation_stage_setting
@@ -204,6 +203,19 @@ from qtmodel import *
204
203
  mdb.update_self_vibration_setting(do_analysis=True,method=1,matrix_type=0,mode_num=3)
205
204
  ```
206
205
  Returns: 无
206
+ ### update_response_spectrum_setting
207
+ 更新反应谱设置
208
+ > 参数:
209
+ > do_analysis:是否进行反应谱分析
210
+ > kind:组合方式 1-SRSS 2-CQC
211
+ > by_mode: 是否按照振型输入阻尼比
212
+ > damping_ratio:常数阻尼比或振型阻尼比列表
213
+ ```Python
214
+ # 示例代码
215
+ from qtmodel import *
216
+ mdb.update_response_spectrum_setting(do_analysis=True,kind=1,damping_ratio=0.05)
217
+ ```
218
+ Returns: 无
207
219
  ## 节点操作
208
220
  ### add_node
209
221
  根据坐标信息和节点编号添加节点,默认自动识别编号
@@ -704,6 +716,29 @@ from qtmodel import *
704
716
  mdb.remove_boundary(remove_id = 1, bd_type = 1,group="边界组1")
705
717
  ```
706
718
  Returns: 无
719
+ ### add_general_elastic_support_property
720
+ 添加一般弹性支承特性
721
+ > 参数:
722
+ > name:一般弹性支承特性名称
723
+ > data_matrix:一般弹性支承刚度矩阵(数据需按列输入至列表,共计21个参数)
724
+ ```Python
725
+ # 示例代码
726
+ from qtmodel import *
727
+ mdb.add_general_elastic_support_property(name = "特性1", data_matrix=[i for i in range(1,22)])
728
+ ```
729
+ Returns: 无
730
+ ### add_general_elastic_support
731
+ 添加一般弹性支承特性
732
+ > 参数:
733
+ > node_id:节点号
734
+ > property_name:一般弹性支承特性名
735
+ > group_name:一般弹性支承边界组名
736
+ ```Python
737
+ # 示例代码
738
+ from qtmodel import *
739
+ mdb.add_general_elastic_support(node_id = 1, property_name = "特性1",group_name="边界组1")
740
+ ```
741
+ Returns: 无
707
742
  ### add_general_support
708
743
  添加一般支承
709
744
  > 参数:
@@ -1019,6 +1054,77 @@ from qtmodel import *
1019
1054
  mdb.remove_live_load_case(name="活载工况1")
1020
1055
  ```
1021
1056
  Returns: 无
1057
+ ## 动力荷载操作
1058
+ ### add_load_to_mass
1059
+ 添加荷载转为质量
1060
+ > 参数:
1061
+ > name: 荷载工况名称
1062
+ > factor: 系数
1063
+ ```Python
1064
+ # 示例代码
1065
+ from qtmodel import *
1066
+ mdb.add_load_to_mass(name="荷载工况",factor=1)
1067
+ ```
1068
+ Returns: 无
1069
+ ### add_nodal_mass
1070
+ 添加节点质量
1071
+ > 参数:
1072
+ > node_id:节点编号,支持单个编号和编号列表
1073
+ > mass_info:[m,rmX,rmY,rmZ]
1074
+ ```Python
1075
+ # 示例代码
1076
+ from qtmodel import *
1077
+ mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
1078
+ ```
1079
+ Returns: 无
1080
+ ### remove_nodal_mass
1081
+ 删除节点质量
1082
+ > 参数:
1083
+ > node_id:节点号,默认删除所有节点质量
1084
+ ```Python
1085
+ # 示例代码
1086
+ from qtmodel import *
1087
+ mdb.remove_nodal_mass(node_id=1)
1088
+ ```
1089
+ Returns: 无
1090
+ ### remove_load_to_mass
1091
+ 删除荷载转为质量
1092
+ > 参数:
1093
+ > name:荷载工况名
1094
+ ```Python
1095
+ # 示例代码
1096
+ from qtmodel import *
1097
+ mdb.remove_load_to_mass(name="荷载工况")
1098
+ ```
1099
+ Returns: 无
1100
+ ### add_spectrum_function
1101
+ 添加反应谱函数
1102
+ > 参数:
1103
+ > name:反应谱函数名
1104
+ > factor:反应谱调整系数
1105
+ > kind:反应谱类型 0-无量纲 1-加速度 2-位移
1106
+ > function_info:反应谱函数信息
1107
+ ```Python
1108
+ # 示例代码
1109
+ from qtmodel import *
1110
+ mdb.add_spectrum_function(name="反应谱函数1",factor=1.0,function_info=[(0,0.02),(1,0.03)])
1111
+ ```
1112
+ Returns: 无
1113
+ ### add_spectrum_case
1114
+ 添加反应谱工况
1115
+ > 参数:
1116
+ > name:荷载工况名
1117
+ > description:说明
1118
+ > kind:组合方式 1-求模 2-求和
1119
+ > info_x: 反应谱X向信息 (X方向函数名,系数)
1120
+ > info_y: 反应谱Y向信息 (Y方向函数名,系数)
1121
+ > info_z: 反应谱Z向信息 (Z方向函数名,系数)
1122
+ ```Python
1123
+ # 示例代码
1124
+ from qtmodel import *
1125
+ mdb.add_spectrum_case(name="反应谱工况",info_x=("函数1",1.0))
1126
+ ```
1127
+ Returns: 无
1022
1128
  ## 钢束操作
1023
1129
  ### add_tendon_group
1024
1130
  按照名称添加钢束组,添加时可指定钢束组id
@@ -1177,48 +1283,6 @@ from qtmodel import *
1177
1283
  mdb.remove_load_group(name="荷载组1")
1178
1284
  ```
1179
1285
  Returns: 无
1180
- ### add_load_to_mass
1181
- 添加荷载转为质量
1182
- > 参数:
1183
- > name: 荷载工况名称
1184
- > factor: 系数
1185
- ```Python
1186
- # 示例代码
1187
- from qtmodel import *
1188
- mdb.add_load_to_mass(name="荷载工况",factor=1)
1189
- ```
1190
- Returns: 无
1191
- ### add_nodal_mass
1192
- 添加节点质量
1193
- > 参数:
1194
- > node_id:节点编号,支持单个编号和编号列表
1195
- > mass_info:[m,rmX,rmY,rmZ]
1196
- ```Python
1197
- # 示例代码
1198
- from qtmodel import *
1199
- mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
1200
- ```
1201
- Returns: 无
1202
- ### remove_nodal_mass
1203
- 删除节点质量
1204
- > 参数:
1205
- > node_id:节点号,默认删除所有节点质量
1206
- ```Python
1207
- # 示例代码
1208
- from qtmodel import *
1209
- mdb.remove_nodal_mass(node_id=1)
1210
- ```
1211
- Returns: 无
1212
- ### remove_load_to_mass
1213
- 删除荷载转为质量
1214
- > 参数:
1215
- > name:荷载工况名
1216
- ```Python
1217
- # 示例代码
1218
- from qtmodel import *
1219
- mdb.remove_load_to_mass(name="荷载工况")
1220
- ```
1221
- Returns: 无
1222
1286
  ### add_pre_stress
1223
1287
  添加预应力
1224
1288
  > 参数:
@@ -1783,7 +1847,7 @@ Returns: 无
1783
1847
  > describe:描述
1784
1848
  > combine_info:荷载组合信息 [(荷载工况类型,工况名,系数)...] 工况类型如下
1785
1849
  > _"ST"-静力荷载工况 "CS"-施工阶段荷载工况 "CB"-荷载组合_
1786
- > _"MV"-移动荷载工况 "SM"-沉降荷载工况_
1850
+ > _"MV"-移动荷载工况 "SM"-沉降荷载工况_ "RS"-反应谱工况_
1787
1851
  ```Python
1788
1852
  # 示例代码
1789
1853
  from qtmodel import *
@@ -2696,5 +2760,6 @@ odb.get_deviation_load(case_name="荷载工况1")
2696
2760
  ```
2697
2761
  Returns: json字符串,包含信息为list[dict]
2698
2762
 
2763
+ Process finished with exit code 0
2699
2764
 
2700
2765
 
@@ -7,7 +7,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
7
7
  # twine upload dist/*
8
8
  setup(
9
9
  name="qtmodel",
10
- version="0.5.32",
10
+ version="0.5.34",
11
11
  author="dqy-zhj",
12
12
  author_email="1105417715@qq.com",
13
13
  description="python modeling for qt 24/10/31 ",
File without changes
File without changes
File without changes