From d774dc277630e59eb90f73bc5bc57aee7cc19c45 Mon Sep 17 00:00:00 2001 From: Audun Arnesen Nyhus Date: Mon, 28 Mar 2022 12:55:12 +0200 Subject: [PATCH 1/3] Bugs. Ukraine edition. --- ANYstructure_local/optimize.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ANYstructure_local/optimize.py b/ANYstructure_local/optimize.py index 472233f..f2d9f45 100644 --- a/ANYstructure_local/optimize.py +++ b/ANYstructure_local/optimize.py @@ -1026,16 +1026,16 @@ def stress_scaling(sigma_old,t_old,t_new, fdwn = 1, fup = 0.5): if t_new <= t_old: #decreasing the thickness sigma_new = sigma_old*(t_old/(t_old-fdwn*abs((t_old-t_new)))) - assert sigma_new >= sigma_old, 'ERROR no stress increase: \n' \ - 't_old '+str(t_old)+' sigma_old '+str(sigma_old)+ \ - '\nt_new '+str(t_new)+' sigma_new '+str(sigma_new) + # assert sigma_new >= sigma_old, 'ERROR no stress increase: \n' \ + # 't_old '+str(t_old)+' sigma_old '+str(sigma_old)+ \ + # '\nt_new '+str(t_new)+' sigma_new '+str(sigma_new) else: #increasing the thickness sigma_new = sigma_old*(t_old/(t_old+fup*abs((t_old-t_new)))) - assert sigma_new <= sigma_old, 'ERROR no stress reduction: \n' \ - 't_old '+str(t_old)+' sigma_old '+str(sigma_old)+ \ - '\nt_new '+str(t_new)+' sigma_new '+str(sigma_new) + # assert sigma_new <= sigma_old, 'ERROR no stress reduction: \n' \ + # 't_old '+str(t_old)+' sigma_old '+str(sigma_old)+ \ + # '\nt_new '+str(t_new)+' sigma_new '+str(sigma_new) return sigma_new def stress_scaling_area(sigma_old,a_old,a_new, fdwn = 1, fup = 0.5): From ca6e7959f3e25b3bc7a79290fc8e558d84e02fc6 Mon Sep 17 00:00:00 2001 From: Audun Arnesen Nyhus Date: Mon, 28 Mar 2022 15:00:33 +0200 Subject: [PATCH 2/3] Bugs. Ukraine edition. --- ANYstructure_local/optimize.py | 2 +- ANYstructure_local/optimize_window.py | 1 + setup.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ANYstructure_local/optimize.py b/ANYstructure_local/optimize.py index f2d9f45..d16e2dc 100644 --- a/ANYstructure_local/optimize.py +++ b/ANYstructure_local/optimize.py @@ -607,7 +607,7 @@ def any_constraints_all(x,obj,lat_press,init_weight,side='p',chk=(True,True,True puls_uf = PULSrun.get_puls_line_results(x_id)["Buckling strength"]["Actual usage Factor"][0] elif calc_object[0].Plate.get_puls_method() == 'ultimate': puls_uf = PULSrun.get_puls_line_results(x_id)["Ultimate capacity"]["Actual usage Factor"][0] - if type(puls_uf) == str: + if type(puls_uf) == str or puls_uf is None: return False, 'PULS', x, all_checks all_checks[8] = puls_uf/PULSrun.puls_acceptance if puls_uf/PULSrun.puls_acceptance >= 1: diff --git a/ANYstructure_local/optimize_window.py b/ANYstructure_local/optimize_window.py index b360e41..bd377a0 100644 --- a/ANYstructure_local/optimize_window.py +++ b/ANYstructure_local/optimize_window.py @@ -845,6 +845,7 @@ def update_running_time(self,*args): if [self._new_check_buckling_ml_cl.get(),self._new_check_buckling_puls.get(), self._new_check_buckling.get()].count(True) > 1: + tk.messagebox.showerror('You can only select one buckling type. Reselect.') if self._new_check_buckling_puls.get(): self._new_check_buckling_puls.set(False) if self._new_check_buckling_ml_cl.get(): diff --git a/setup.py b/setup.py index 72ef250..91eb9bf 100644 --- a/setup.py +++ b/setup.py @@ -27,7 +27,7 @@ def readme(): name='ANYstructure', # Required url = 'https://github.com/audunarn/ANYstructure', entry_points={"console_scripts": ['ANYstructure = ANYstructure_local.__main__:main']}, - version=4.0, # Required + version=4.2, # Required license='MIT', description='A plate field optimization tool for offshore structures calculated according to DNVGL standards', long_description = readme(), From b590568c81a7739f868339446a52129fe21152b1 Mon Sep 17 00:00:00 2001 From: Audun Arnesen Nyhus Date: Mon, 28 Mar 2022 20:44:51 +0200 Subject: [PATCH 3/3] Bugs. Ukraine edition. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5435cec..cd8204e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ ANYstructure is the ultimate steel structure design tool for plate fields and cylinders! Weight optimization for all structures with machine learning capabilities. Calculations are based on DNV standards and rules. - +### What's new in 4.2 ### +* Bug fixing. +* Ukraininan theme. ### What's new in 4.0 ### * Cylinder design and optimization! * Flat plate prescriptive buckling improved. Girder calculation added.