iam-git / WellMet (public) (License: MIT) (since 2021-08-31) (hash sha1)
WellMet is pure Python framework for spatial structural reliability analysis. Or, more specifically, for "failure probability estimation and detection of failure surfaces by adaptive sequential decomposition of the design domain".
List of commits:
Subject Hash Author Date (UTC)
add vehicle suspension problem 1546923576c59fa15e97c082b4a9c39cdadcf690 I am 2022-01-30 10:39:08
mplot: add 3D triangulation plot addec9ba2a5a9cdfbbfea2eaf660847ea814d387 I am 2022-01-30 05:15:22
mplot: oprašit matplotlibové 3D b438c6e10bc36b6f70f54611df6c3988a7959275 I am 2022-01-30 04:28:27
qt_gui.gl_plot: dát dohromady ConvexHull třídu 19f7fc6ebf130d07897dca3496d78e3208ddfa29 Aleksei Gerasimov 2022-01-30 03:03:07
qt_gui.gl_plot: Make 3D working at least for basic box 1d285206abd77b68207fae0a771b3e69b197a5aa Aleksei Gerasimov 2022-01-30 01:15:54
qt_gui: prepare 3D view startup 21648380b72f891cd267ff57e2b9bbbb1dc1d13f I am 2022-01-30 00:24:06
mplot.maxes.convergence_legend(): úpravit jeden index 6345b5d4c70dde76102e105c1accc1ca9b3adb40 I am 2022-01-29 19:12:43
mplot.mgraph.tri_estimation_plot: adjust zorder of lines 6cf6cef6d6e19eb4cb5e8cda24f2bdc75652221d I am 2022-01-28 02:44:50
add Z_min g_model and general testcase 806fa2dfea2042cda04cff9020b891d3e033b9aa I am 2022-01-27 17:17:19
mplot.mgraph.tri_estimation_plot: draw p_mixed line navíc b59ec8cbaeb671a130edee5df206d57099ecb9bf I am 2022-01-27 16:41:53
testcases.gaussian_2D: fix four branch pf_exact f9d0f71ad6a4e6af6843c6b36688b8a002495bdc I am 2022-01-27 06:14:40
mplot: add mprod plot, polish pprod 045c5401dad6abca019da21fd42da5bfb671b909 I am 2022-01-26 04:16:00
mplot.mfigs: add quadruple plot 8ef6b85bedc31f1908ce25634bda84bdc07edef9 I am 2022-01-26 01:30:01
testcases.gaussian_2D: add final pf value to metaball case 5be29e59b1cd789da32d62caff1dcfb9c231a40e I am 2022-01-26 01:28:52
g_models: add boundary finding for metaball function 5ea3011d11572d2fa98d77819cc1ba333e6b4016 I am 2022-01-26 00:38:21
mplot: polish ad5819ced9f1be64c8d731813c575c1ec854421d I am 2022-01-25 03:39:22
testcases.gaussian_2D: add pf_exact to the black swan 38e19e42884234afc467a0ee7af9699af1f84e96 I am 2022-01-25 03:37:59
mplot.maxes: pass nrod to plot_boundaries() b87c6c58900b2b7f9a11f238eb9b7f2b054e9abf I am 2022-01-24 21:06:35
mplot: fix global settings overwrite 28a6304a895b0f2f53482ae086f0f2900adfd65e I am 2022-01-24 21:02:56
qt_gui.qt_dicebox: add dumb DiceBox widget d609cbbd928859a7c2ebf05ecdec2878d5356f9c I am 2022-01-24 18:43:53
Commit 1546923576c59fa15e97c082b4a9c39cdadcf690 - add vehicle suspension problem
Author: I am
Author date (UTC): 2022-01-30 10:39
Committer name: I am
Committer date (UTC): 2022-01-30 10:39
Parent(s): addec9ba2a5a9cdfbbfea2eaf660847ea814d387
Signer:
Signing key:
Signing status: N
Tree: 467d7bba0d15a66c8ea222ede10442bfd58829c7
File Lines added Lines deleted
g_models.py 31 0
testcases/testcases_2D_papers.py 25 8
File g_models.py changed (mode: 100644) (index b3bd1d0..a0b9c09)
... ... class FourBranch2D:
954 954 return (Ingot(bound_R),) return (Ingot(bound_R),)
955 955
956 956
957
958 class PassiveVehicleSuspension:
959 """
960 """
961 def __init__(self, V=10, A=1.0, b_0=0.27, m=0.8158, M=3.2633, g=981):
962 #self.constants = [V, A, b_0, m, M, g]
963 self.constants = [V, A/2/np.pi, b_0, m, M, g]
964
965 # sign
966 def __repr__(self):
967 return 'PassiveVehicleSuspension(*%s)' % (self.constants)
968
969 def __call__(self, input_sample):
970 V, A, b_0, m, M, g = self.constants
971 # očekávam, že get_R_coordinates mně vrátí 2D pole
972 sample = get_R_coordinates(input_sample, 3)
973 c, c_k, k = sample[:,0], sample[:,1], sample[:,2]
974 K1 = (np.pi * m * V * A) / (b_0 * k * g**2)
975 C1 = c_k / (m + M)
976 C2 = c / M
977 C3 = c**2 / (m * M)
978 C4 = c_k * k**2 /(m * M**2)
979 G1 = 1 - K1 * ((C1-C2)**2 + C3 + C4)
980 G2 = 1 - 7.6394 / (4000 * (M*g)**(-1.5) * c - 1)
981 G3 = 1 - 0.5 / np.sqrt(M * g) / np.sqrt(k**2 * c_k / c / (M + m) + c)
982 G4 = 1 - (g * (M + m))**0.877 / c_k
983 print(G1, G2, G3, G4)
984 return SampleBox(input_sample, np.min((G1, G2, G3, G4), axis=0), repr(self))
985
986
987
957 988 # #
958 989 # Free functions # Free functions
959 990 # #
File testcases/testcases_2D_papers.py changed (mode: 100644) (index eeb3598..92d1e57)
... ... import scipy.stats as stats
14 14 from scipy import integrate # for Pareto tail from scipy import integrate # for Pareto tail
15 15
16 16 __all__ = [ __all__ = [
17 'uniform_branin_2D',
18 'snorm_four_branch_2D',
19 'snorm_four_branch_2D_2',
20 'snorm_piecewise_2D_linear',
21 'piecewise_pareto_tail',
22 'snorm_min_2D_linear',
23 'snorm_min_2D_logistic',
24 ]
17 'uniform_branin_2D',
18 'snorm_four_branch_2D',
19 'snorm_four_branch_2D_2',
20 'snorm_piecewise_2D_linear',
21 'piecewise_pareto_tail',
22 'snorm_min_2D_linear',
23 'snorm_min_2D_logistic',
24 'passive_vehicle_suspension_3D',
25 ]
25 26
26 27 f = f_models.SNorm(2) f = f_models.SNorm(2)
27 28 # Uniform-uniform # Uniform-uniform
 
... ... def snorm_min_2D_logistic():
119 120 return wt return wt
120 121
121 122
123 def passive_vehicle_suspension_3D():
124 f3 = f_models.UnCorD((
125 stats.norm(431.7221, 10),
126 stats.norm(1475.5503, 10),
127 stats.norm(55.0406, 10),
128 ))
129 # f3 = f_models.UnCorD((
130 # stats.norm(424, 10),
131 # stats.norm(1480, 10),
132 # stats.norm(47, 10),
133 # ))
134 wt = WhiteBox(f3, gm.PassiveVehicleSuspension())
135 #wt.pf_exact = 1.87e-06
136 #wt.pf_exact_method = 'FORM-type thought-three beta points'
137 #wt.description = "Breitung. Pareto tail"
138 return wt
122 139
123 140
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/iam-git/WellMet

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/iam-git/WellMet

Clone this repository using git:
git clone git://git.rocketgit.com/user/iam-git/WellMet

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main