ANYstructure 5.3.0__tar.gz → 5.3.2__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.
- {anystructure-5.3.0 → anystructure-5.3.2}/ANYstructure.egg-info/PKG-INFO +1 -1
- {anystructure-5.3.0 → anystructure-5.3.2}/ANYstructure.egg-info/SOURCES.txt +2 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/MANIFEST.in +1 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/PKG-INFO +1 -1
- {anystructure-5.3.0 → anystructure-5.3.2}/README.md +6 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/calc_structure.py +0 -1
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/helper.py +1 -3
- anystructure-5.3.2/anystruct/images/cylinder_opt.png +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/main_application.py +13 -3
- {anystructure-5.3.0 → anystructure-5.3.2}/setup.py +1 -1
- anystructure-5.3.2/tests/test_helper_stress_force_conversion.py +61 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/ANYstructure.egg-info/dependency_links.txt +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/ANYstructure.egg-info/entry_points.txt +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/ANYstructure.egg-info/requires.txt +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/ANYstructure.egg-info/top_level.txt +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/LICENSE +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/README.rst +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ANYstructure_documentation.pdf +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/SN_curve_parameters.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/__init__.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/__main__.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/api.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/buckling_calc_external.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/bulb_anglebar_tbar_flatbar.csv +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/calc_loads.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/compartment_window.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/example_data.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/example_data_puls.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/excel_inteface.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/fatigue_window.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/grid_window.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/gui.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/ANYstructure_logo.jpg +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/Buckling_Strength_of_Shells.png +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/Panel_geometry_definitions.png +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/current_comps_NONE.png +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/fls_button.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_T_L_FB.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_axial_stresses.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_ext_pressure_button.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_ext_pressure_button_def.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_fixation_parameters.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_generate_report.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_int_pressure_button.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_int_pressure_button_search.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_multi_opt.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_optimize.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_plate_and_stiffener.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_stf_button.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_stiffener.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_stress_button.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_title.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_transverse_stress.gif +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/load_factor_window.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/load_window.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/make_grid_numpy.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/make_queue.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/make_stack.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_CSR-Tank_req_cl_predictor.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_CSR-Tank_req_cl_scaler.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_CSR_plate_cl,_CSR_web_cl,_CSR_web_flange_cl,_CSR_flange_cl_predictor.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_CSR_plate_cl,_CSR_web_cl,_CSR_web_flange_cl,_CSR_flange_cl_scaler.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_110_predictor_In-plane_support_cl_1_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_110_predictor_In-plane_support_cl_1_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_110_predictor_In-plane_support_cl_2,_3_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_110_predictor_In-plane_support_cl_2,_3_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_110_scaler_In-plane_support_cl_1_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_110_scaler_In-plane_support_cl_1_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_110_scaler_In-plane_support_cl_2,_3_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_110_scaler_In-plane_support_cl_2,_3_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_115_predictor_In-plane_support_cl_1_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_115_predictor_In-plane_support_cl_1_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_115_predictor_In-plane_support_cl_2,_3_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_115_predictor_In-plane_support_cl_2,_3_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_115_scaler_In-plane_support_cl_1_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_115_scaler_In-plane_support_cl_1_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_115_scaler_In-plane_support_cl_2,_3_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_buc_115_scaler_In-plane_support_cl_2,_3_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_110_predictor_In-plane_support_cl_1_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_110_predictor_In-plane_support_cl_1_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_110_predictor_In-plane_support_cl_2,_3_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_110_predictor_In-plane_support_cl_2,_3_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_110_scaler_In-plane_support_cl_1_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_110_scaler_In-plane_support_cl_1_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_110_scaler_In-plane_support_cl_2,_3_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_110_scaler_In-plane_support_cl_2,_3_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_115_predictor_In-plane_support_cl_1_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_115_predictor_In-plane_support_cl_1_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_115_predictor_In-plane_support_cl_2,_3_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_115_predictor_In-plane_support_cl_2,_3_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_115_scaler_In-plane_support_cl_1_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_115_scaler_In-plane_support_cl_1_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_115_scaler_In-plane_support_cl_2,_3_SP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_output_cl_str_ult_115_scaler_In-plane_support_cl_2,_3_UP.pickle +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/opt_problem.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/optimize.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/optimize_cylinder.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/optimize_geometry.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/optimize_multiple_window.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/optimize_window.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/pl_stf_window.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/report_generator.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/sections.csv +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/sesam_interface.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ship_section_example.txt +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/stresses_window.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/anystruct/testCalc.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/setup.cfg +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/tests/test_calc_loads_loads.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/tests/test_calc_loads_tank.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/tests/test_calc_structure_scantlings.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/tests/test_calc_structure_structure.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/tests/test_calc_strucure_fatigue.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/tests/test_grid_operations.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/tests/test_make_grid.py +0 -0
- {anystructure-5.3.0 → anystructure-5.3.2}/tests/test_optimize.py +0 -0
|
@@ -50,6 +50,7 @@ anystruct/images/ANYstructure_logo.jpg
|
|
|
50
50
|
anystruct/images/Buckling_Strength_of_Shells.png
|
|
51
51
|
anystruct/images/Panel_geometry_definitions.png
|
|
52
52
|
anystruct/images/current_comps_NONE.png
|
|
53
|
+
anystruct/images/cylinder_opt.png
|
|
53
54
|
anystruct/images/fls_button.gif
|
|
54
55
|
anystruct/images/img_T_L_FB.gif
|
|
55
56
|
anystruct/images/img_axial_stresses.gif
|
|
@@ -109,5 +110,6 @@ tests/test_calc_structure_scantlings.py
|
|
|
109
110
|
tests/test_calc_structure_structure.py
|
|
110
111
|
tests/test_calc_strucure_fatigue.py
|
|
111
112
|
tests/test_grid_operations.py
|
|
113
|
+
tests/test_helper_stress_force_conversion.py
|
|
112
114
|
tests/test_make_grid.py
|
|
113
115
|
tests/test_optimize.py
|
|
@@ -18,6 +18,7 @@ include anystruct\images\img_stress_button.gif
|
|
|
18
18
|
include anystruct\images\img_T_L_FB.gif
|
|
19
19
|
include anystruct\images\img_title.gif
|
|
20
20
|
include anystruct\images\img_transverse_stress.gif
|
|
21
|
+
include anystruct\images\cylinder_opt.png
|
|
21
22
|
include anystruct\images\ANYstructure_logo.jpg
|
|
22
23
|
include anystruct\images\current_comps_NONE.png
|
|
23
24
|
include anystruct\images\Buckling_Strength_of_Shells.png
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
ANYstructure is the ultimate steel structure design tool for plate fields and cylinders!
|
|
3
3
|
Weight optimization for all structures with machine learning capabilities.
|
|
4
4
|
Calculations are based on DNV standards and rules
|
|
5
|
+
### What's new in 5.3.1 ###
|
|
6
|
+
* Force to stress to force conversion fix for cylinders.
|
|
7
|
+
### What's new in 5.3.0 ###
|
|
8
|
+
* Fixed critical caluculation bug in column buckling
|
|
9
|
+
* Some minor bug fixing
|
|
10
|
+
* Changed some text
|
|
5
11
|
### What's new in 5.2.0 ###
|
|
6
12
|
* Support for python 3.13
|
|
7
13
|
* Some bug fixing
|
|
@@ -536,7 +536,7 @@ def helper_cylinder_stress_to_force_to_stress(stresses = None, forces = None, ge
|
|
|
536
536
|
if not conical:
|
|
537
537
|
sasd, smsd, tTsd, tQsd, shsd = stresses
|
|
538
538
|
Nsd = (sasd * 2 * math.pi * shell_radius * eq_thk) / 1000
|
|
539
|
-
Msd = (smsd / (shell_radius
|
|
539
|
+
Msd = (smsd * Itot) / ((shell_radius + shell_t / 2) * 1000000)
|
|
540
540
|
Tsd = tTsd * 2 * math.pi * shell_t * math.pow(shell_radius, 2) / 1000000
|
|
541
541
|
Qsd = tQsd * math.pi * shell_radius * shell_t / 1000
|
|
542
542
|
else:
|
|
@@ -562,8 +562,6 @@ def helper_cylinder_stress_to_force_to_stress(stresses = None, forces = None, ge
|
|
|
562
562
|
if __name__ == '__main__':
|
|
563
563
|
from tkinter import *
|
|
564
564
|
|
|
565
|
-
|
|
566
|
-
|
|
567
565
|
class AllTkinterWidgets:
|
|
568
566
|
def __init__(self, master):
|
|
569
567
|
frame = Frame(master, width=500, height=400, bd=1)
|
|
Binary file
|
|
@@ -1064,6 +1064,8 @@ class Application():
|
|
|
1064
1064
|
|
|
1065
1065
|
chk_deltax = 0.1
|
|
1066
1066
|
chk_deltay = 0.025
|
|
1067
|
+
(ttk.Label(self._tab_information, text='Labelling options. For non-cylinder structure only. ', font="Text 9")
|
|
1068
|
+
.place(relx=0.02, rely=2*chk_deltay))
|
|
1067
1069
|
self._information_gui_chk_structure = [
|
|
1068
1070
|
ttk.Checkbutton(self._tab_information,
|
|
1069
1071
|
variable = self._new_label_color_coding,
|
|
@@ -1122,7 +1124,7 @@ class Application():
|
|
|
1122
1124
|
ttk.Label(self._tab_information, text='Structure type'),
|
|
1123
1125
|
ttk.Label(self._tab_information, text='Buckling - SP or UP'),
|
|
1124
1126
|
ttk.Label(self._tab_information, text='Buckling acceptance criteria')]
|
|
1125
|
-
idx =
|
|
1127
|
+
idx = 3
|
|
1126
1128
|
for lab, ent in zip(self._information_gui_chk_structure, self._information_gui_lab_chk_structure):
|
|
1127
1129
|
lab.place(relx=0.02, rely=idx*chk_deltay)
|
|
1128
1130
|
ent.place(relx=0.02 + chk_deltax, rely=idx*chk_deltay)
|
|
@@ -3706,7 +3708,10 @@ class Application():
|
|
|
3706
3708
|
all_cyl_chks = list()
|
|
3707
3709
|
for key, val in cylinder_results.items():
|
|
3708
3710
|
if key in ['Unstiffened shell', 'Longitudinal stiffened shell',
|
|
3709
|
-
'Ring stiffened shell', 'Heavy ring frame']:
|
|
3711
|
+
'Ring stiffened shell', 'Heavy ring frame', 'Column stability UF']:
|
|
3712
|
+
if (key == 'Column stability UF' and
|
|
3713
|
+
cylinder_results['Need to check column buckling'] is False):
|
|
3714
|
+
continue
|
|
3710
3715
|
|
|
3711
3716
|
all_cyl_chks.append(True if val is None else val < 1)
|
|
3712
3717
|
elif key == 'Stiffener check' and val is not None:
|
|
@@ -4876,12 +4881,16 @@ class Application():
|
|
|
4876
4881
|
)
|
|
4877
4882
|
uf_col = 'green'
|
|
4878
4883
|
else:
|
|
4884
|
+
uf_col = 'black'
|
|
4879
4885
|
if results['Column stability UF'] is None:
|
|
4880
4886
|
text_value = 'N/A'
|
|
4881
4887
|
else:
|
|
4882
4888
|
text_value = 'Column buckling need to be checked, UF = ' + str(
|
|
4883
4889
|
round(results['Column stability UF'], 2))
|
|
4884
|
-
|
|
4890
|
+
if results['Column stability UF'] <= 1.0:
|
|
4891
|
+
uf_col = 'green'
|
|
4892
|
+
else:
|
|
4893
|
+
uf_col = 'red'
|
|
4885
4894
|
else:
|
|
4886
4895
|
text_value = 'N/A' if value is None else str(round(value, 2))
|
|
4887
4896
|
|
|
@@ -6890,6 +6899,7 @@ class Application():
|
|
|
6890
6899
|
is None
|
|
6891
6900
|
else Structure(imported_dict['Ring frame']))
|
|
6892
6901
|
|
|
6902
|
+
|
|
6893
6903
|
# opening the loads
|
|
6894
6904
|
variables = ['poly_third','poly_second', 'poly_first', 'poly_const', 'load_condition',
|
|
6895
6905
|
'structure_type', 'man_press', 'static_draft', 'name_of_load', 'limit_state',
|
|
@@ -27,7 +27,7 @@ setup(
|
|
|
27
27
|
name='ANYstructure', # Required
|
|
28
28
|
url = 'https://github.com/audunarn/ANYstructure',
|
|
29
29
|
entry_points={"console_scripts": ['ANYstructure = anystruct.__main__:main']},
|
|
30
|
-
version='5.3.
|
|
30
|
+
version='5.3.2', # Required
|
|
31
31
|
license='MIT',
|
|
32
32
|
description='A plate field optimization tool for offshore structures calculated according to DNV standards',
|
|
33
33
|
long_description = readme(),
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import math
|
|
2
|
+
import sys
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
|
|
6
|
+
|
|
7
|
+
import anystruct.helper as hlp
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class _DummyCylinder:
|
|
11
|
+
"""Minimal stub mimicking ``CylinderAndCurvedPlate`` ``get_Itot``."""
|
|
12
|
+
|
|
13
|
+
def __init__(self, itot):
|
|
14
|
+
self._itot = itot
|
|
15
|
+
|
|
16
|
+
def get_Itot(self, **_kwargs):
|
|
17
|
+
return self._itot
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def _round_trip_forces(forces, **kwargs):
|
|
21
|
+
stresses = hlp.helper_cylinder_stress_to_force_to_stress(forces=forces, **kwargs)
|
|
22
|
+
back = hlp.helper_cylinder_stress_to_force_to_stress(stresses=stresses, **kwargs)
|
|
23
|
+
return stresses, back
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def test_round_trip_unstiffened_shell():
|
|
27
|
+
dummy = _DummyCylinder(8.9)
|
|
28
|
+
kwargs = dict(
|
|
29
|
+
geometry=1,
|
|
30
|
+
shell_t=0.02,
|
|
31
|
+
shell_radius=6.5,
|
|
32
|
+
shell_spacing=1.0,
|
|
33
|
+
CylinderAndCurvedPlate=dummy,
|
|
34
|
+
)
|
|
35
|
+
forces = (1.2e6, 5.5e7, 2.4e5, 3.1e5)
|
|
36
|
+
|
|
37
|
+
_, converted = _round_trip_forces(forces, **kwargs)
|
|
38
|
+
|
|
39
|
+
for original, recovered in zip(forces, converted[:4]):
|
|
40
|
+
assert math.isclose(original, recovered, rel_tol=1e-9)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def test_round_trip_longitudinal_stiffened_shell():
|
|
44
|
+
dummy = _DummyCylinder(12.1)
|
|
45
|
+
kwargs = dict(
|
|
46
|
+
geometry=3,
|
|
47
|
+
shell_t=0.025,
|
|
48
|
+
shell_radius=4.5,
|
|
49
|
+
shell_spacing=0.8,
|
|
50
|
+
hw=0.35,
|
|
51
|
+
tw=0.018,
|
|
52
|
+
b=0.22,
|
|
53
|
+
tf=0.02,
|
|
54
|
+
CylinderAndCurvedPlate=dummy,
|
|
55
|
+
)
|
|
56
|
+
forces = (2.5e6, 7.2e7, 4.3e5, 5.6e5)
|
|
57
|
+
|
|
58
|
+
_, converted = _round_trip_forces(forces, **kwargs)
|
|
59
|
+
|
|
60
|
+
for original, recovered in zip(forces, converted[:4]):
|
|
61
|
+
assert math.isclose(original, recovered, rel_tol=1e-9)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{anystructure-5.3.0 → anystructure-5.3.2}/anystruct/images/img_int_pressure_button_search.gif
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_CSR-Tank_req_cl_predictor.pickle
RENAMED
|
File without changes
|
{anystructure-5.3.0 → anystructure-5.3.2}/anystruct/ml_files/CL_CSR-Tank_req_cl_scaler.pickle
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|