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)
misc: little changes to the rbf class 058a0401db09f4e9e68af72c987c3b879077864d I am 2022-03-03 22:53:48
mplot.maxes: rbf, one more try 8303470585507772e8170504989835f04a7828b9 I am 2022-03-02 22:13:08
mplot.maxes: add rbf_plot 3485da2191b2f64fac76813d072a6b6f6e2fba71 I am 2022-03-02 03:35:27
mplot.maxes: add rbf plot bd5055adced9e0d8887fa213baa0ff9f9e038ba4 I am 2022-03-02 02:17:18
misc: add small class for rbf surrogate model f8beecf63302ceae6d3462ed279b796b54149bdf I am 2022-03-02 02:16:01
testcases: pf_exact fix for suspension 3d case 0f3318cac398c9195e0b21a6f13edc9475156b0d I am 2022-03-02 02:14:55
g_models.CosExp2D: add pf_expression() method 3ebf3098bcff1a73a649059b1539d622d58b7439 I am 2022-02-06 19:38:37
mplot.mfigs.double_diagram(): do not share x axis. User can set up limits itself after all e74145928c028479070af2fe766d55f180828cdf I am 2022-02-06 05:02:59
testcases: add reference solution bounds to the whitebox 3358b3ff7903417f6484a875abb154d3a7c04a06 I am 2022-02-06 05:00:50
mplot: we need more rasterization! 46df5af418dcab84e8e7e7e23724a74e86575806 I am 2022-02-05 02:20:22
testcases: provide more presice pf for vehicle suspension example e2c4bd1c7f2278b4d94b6f7515785528267c18bb I am 2022-02-05 02:18:45
g_models.PassiveSuspensionVehicle: reformulation and clean up 6e0f9ea7b97f12a2554d895be0b2b8a3f39a536d I am 2022-02-04 03:50:03
mplot: add beta diagram 5e346bdd2c5f06a41726e2ff264776dcc60eac19 I am 2022-02-01 04:08:34
mplot.maxes3d: rasterization of risges is absolutely needed 87c3235b8313ade07ca5b4d72b1f8fec339d621d I am 2022-01-31 03:15:31
testcases: add pf_exact for suspension example 9f903986699b97bfc0eb7c8d4bcad78d3e018450 I am 2022-01-30 23:14:42
mplot: polish 3d b78a192b0ce5c4f5f9e3a94e271bcde3f3c03fac I am 2022-01-30 23:14:16
qt_gui.gl_plot: oprašit gl_plotové prvky d4336e94b262d11db3b6a110527689a9ab101a60 Aleksei Gerasimov 2022-01-30 04:00:40
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
Commit 058a0401db09f4e9e68af72c987c3b879077864d - misc: little changes to the rbf class
Author: I am
Author date (UTC): 2022-03-03 22:53
Committer name: I am
Committer date (UTC): 2022-03-03 22:53
Parent(s): 8303470585507772e8170504989835f04a7828b9
Signer:
Signing key:
Signing status: N
Tree: f297238eed8397950ddaf663ba6717bf24bdadb4
File Lines added Lines deleted
misc.py 5 3
File misc.py changed (mode: 100644) (index 0c05e2f..0c4303f)
... ... from . import sball # for Isocurves
8 8 from . import IS_stat from . import IS_stat
9 9
10 10 class RBF_surrogate: class RBF_surrogate:
11 def __init__(self, sample_box):
11 def __init__(self, sample_box, space='R'):
12 12 self.sample_box = sample_box self.sample_box = sample_box
13 self.space = space
13 14 self._nsim = -100500 self._nsim = -100500
14 15 self.update() self.update()
15 16
 
... ... class RBF_surrogate:
19 20
20 21 def update(self): def update(self):
21 22 if self.sample_box.nsim > self._nsim: if self.sample_box.nsim > self._nsim:
22 self.rbf = interpolate.Rbf(*self.sample_box.R.T, self.sample_box.g_values, function='gaussian')
23 sample_space = getattr(self.sample_box, self.space)
24 self.rbf = interpolate.Rbf(*sample_space.T, self.sample_box.g_values, function='gaussian')
23 25 self._nsim = self.sample_box.nsim self._nsim = self.sample_box.nsim
24 26
25 27 def get_pf_estimation(self, nis=100000): def get_pf_estimation(self, nis=100000):
26 28 self.update() self.update()
27 29 nodes = IS_stat.IS_norm(self.sample_box.f_model, mean=0, std=2.5, sampling_space='G', nis=nis, design=None) nodes = IS_stat.IS_norm(self.sample_box.f_model, mean=0, std=2.5, sampling_space='G', nis=nis, design=None)
28 gi = self.rbf(*nodes.R.T)
30 gi = self.rbf(*getattr(nodes, self.space).T)
29 31 return np.sum(nodes.w[gi<0])/nis return np.sum(nodes.w[gi<0])/nis
30 32
31 33
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