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)
whitebox: introduce Gaussian_Z_prod_2D class with respective exact solution 13e592f107918d4cc3daaeec1f08e38779a943aa I am 2022-01-18 18:51:23
mplot: polish maxes and mfigs dfb9193da5fcb633fbe58fb39ff7b4432de4a5c5 I am 2022-01-18 00:44:56
testcases: add gaussian_2D module c5e279c08bba39bdd82c79d15d00241c786c795d I am 2022-01-18 00:06:36
qt_gui.qt_testcases: simplify code for the unparametrized testcases 60b7678186738107b3346beae7fb0744570d60fc I am 2022-01-18 00:05:34
mplot.mart: move setup_labels to mart module 9d7783a3a9905a72c51b4fec76e367dffdbc4563 I am 2022-01-17 17:33:16
mplot.__init__: set up small non zero padding (0.01) f0d23235b109c4224599eb0426ad0d9ee8b2a9b8 I am 2022-01-17 17:31:44
mplot: raster candidates, polishing 63d6d00dfe7affc8ed3d05161fd4a5b50db62207 I am 2022-01-17 16:34:05
mplot: more figures 3a7f54e09cd78a2fc2ff50d7cf5c142f04ffdc28 I am 2022-01-09 00:42:33
testcases: add proxy_prod 2D testcase edb11ab54bcf677757974f133d2d66816b701ade I am 2022-01-09 00:41:27
stm_df: fix proxy, pandas nějak nám šťourá v našich boolean maticích 1d9f360edfc03932a08dff8aad97f189b155e708 I am 2022-01-09 00:39:24
mplot.maxes: a little bit more to labels d989a2d1b69b116a14f7ff81776f5f75d80cfea0 I am 2022-01-06 17:48:57
mplot.figs: add double and triple triangulations plots 091361cc326239b552078c489f9f164ccda4f54b I am 2022-01-06 16:17:50
mplot.maxes: aspoň nějak nastavit popísky os 50e8e467c24d73d9522166183275deab547243f8 I am 2022-01-06 16:16:36
mplot.maxes: add labels to candidates plot f8aa0f271a8d30cb7d79206290409f862c406a51 I am 2022-01-06 12:14:48
mplot.maxes: add candidates sampling (rejection-like) plot 5a15e10a9a462dd409e0627528bcb8910df77c7e I am 2022-01-06 09:40:38
mplot.maxes: add candidates plot 11e156edc351ca84fde742edf7ea1d85c3b0bc38 I am 2022-01-06 08:15:43
mplot.maxes: polish tri plots a little bit 9a4e0a18061e2d9f48c0c32c200bd1a408ceb77f I am 2022-01-05 13:15:00
mplot.mart: add plot_points() function 2c799e22d9f45b825a7f8a795ce6b9fe5fbd9c76 I am 2022-01-05 13:14:12
mplot.maxes: add convergence diagrams 813b1e8e9dd9d1e51951c51234910cdf2281cde8 I am 2022-01-05 09:07:18
mplot.mgraph: hračky s legendou 198cc40947d48b2a3cde990254def7d57c1535a6 I am 2022-01-05 09:04:23
Commit 13e592f107918d4cc3daaeec1f08e38779a943aa - whitebox: introduce Gaussian_Z_prod_2D class with respective exact solution
Author: I am
Author date (UTC): 2022-01-18 18:51
Committer name: I am
Committer date (UTC): 2022-01-18 18:51
Parent(s): dfb9193da5fcb633fbe58fb39ff7b4432de4a5c5
Signer:
Signing key:
Signing status: N
Tree: 66c99b53b977ac2bc619a34f11ee93f82067dcf9
File Lines added Lines deleted
whitebox.py 45 1
File whitebox.py changed (mode: 100644) (index 1a28174..a7f4909)
... ... whitebox actually IS g_model PLUS:
21 21 """ """
22 22 import numpy as np import numpy as np
23 23 from scipy import stats from scipy import stats
24 from scipy import special # for S_ball
24 from scipy import special # for S_ball # for Z_prod
25 25 from scipy import integrate # for S_ball from scipy import integrate # for S_ball
26 26
27 27 import mpmath # for Gaussian_Z_min import mpmath # for Gaussian_Z_min
 
... ... class Gaussian_Z_sum(WhiteBox): #ё куда ж без этого...
311 311 return 'Gaussian_Z_sum(nvar=%s, beta_exact=%s)' % (wt.f.nvar, wt.beta_exact) return 'Gaussian_Z_sum(nvar=%s, beta_exact=%s)' % (wt.f.nvar, wt.beta_exact)
312 312
313 313
314 class Gaussian_Z_prod_2D(WhiteBox):
315 def __init__(self, **kwargs):
316 """
317 Breitung RESS 182 (2019) p. 99
318 """
319 #č měníme logiku.
320 #č u této třídy známenko constanty bude ovlivňovat
321 #č poruchové kvadranty.
322 if 'const' in kwargs:
323 self.const = kwargs['const']
324 elif 'beta' in kwargs:
325 self.beta = kwargs['beta']
326 self.const = self.beta**2/2
327 else:
328 raise ValueError
329
330
331 #č g-modelu je to samozřejmě šuma, ale bílá skříňka nechť raději
332 #č pečlivěji zpracovává vstup
333 self.gm = g_models.Z_prod(const=self.const, sign=np.sign(self.const))
334 self.f = f_models.SNorm(2)
335 #č na začatku nemáme vzorky - pouze rozdělení a podpís
336 self.sample_box = SampleBox(self.f(), gm_signature=self.gm_signature)
337 #č Rozdělení transformovaného náhodného čísla je zadano jako
338 # special.kn(0, np.abs(x)) / np.pi # Breitung RESS 182 (2019) p. 99
339 # kn(n, x) Modified Bessel function of the second kind of integer order n
340 # modstruve(v, x) Modified Struve function of order v at x
341 #č Odvození pf_exact z Maple
342 const = np.abs(self.const)
343 StruveL0 = special.modstruve(0, const)
344 StruveL1 = special.modstruve(1, const)
345 BesselK0 = special.kn(0, const)
346 BesselK1 = special.kn(1, const)
347 self.pf_exact = const/2 * (1/const - (StruveL1 * BesselK0 + StruveL0 * BesselK1 + 2/np.pi * BesselK0))
348 self.pf_exact_method = 'exact (Bessel) solution'
349
350
351 def __str__(wt):
352 return 'Gaussian_Z_prod_2D'
353
354 def __repr__(wt):
355 return 'Gaussian_Z_prod_2D(sign=%s, const=%s)' % (wt.sign, wt.const)
356
357
314 358 class Lognormal_Z_prod(WhiteBox): #č ověřím to moje odvození... class Lognormal_Z_prod(WhiteBox): #č ověřím to moje odvození...
315 359 def __init__(self, nvar=2, beta_exact=5, sign=1): def __init__(self, nvar=2, beta_exact=5, sign=1):
316 360 """ """
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