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)
mplot.mfigs: add G_U_distortion plot 6ed034375dfd042706a91a368c9483270095e75c I am 2022-03-20 14:42:50
mplot.mart: add number_points function dab89bdb9e5190600aa394c9b65cfa24d162be0e I am 2022-03-20 14:42:23
testcases:testcases_nD: add hyperplane_pf3 87176287101b0a15a86c7999ba9626674400d225 I am 2022-03-20 14:41:26
testcases:gaussian_2D: add pf estimation for sinshilds case 889b5aebae164ea3fb1f9375ae58d1afa4687696 I am 2022-03-17 20:42:13
mplot: add rbf_density_plot() 62ce990cb9418418879d0f5e084a26043b5bfdeb I am 2022-03-04 03:00:32
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
Commit 6ed034375dfd042706a91a368c9483270095e75c - mplot.mfigs: add G_U_distortion plot
Author: I am
Author date (UTC): 2022-03-20 14:42
Committer name: I am
Committer date (UTC): 2022-03-20 14:42
Parent(s): dab89bdb9e5190600aa394c9b65cfa24d162be0e
Signer:
Signing key:
Signing status: N
Tree: ee31d7432a4b0519a1dce2466a732a857eeb4a66
File Lines added Lines deleted
mplot/mfigs.py 85 1
File mplot/mfigs.py changed (mode: 100644) (index 2e4c4c5..e84d507)
7 7
8 8
9 9 import numpy as np import numpy as np
10 from . import mart
10 11 from . import maxes from . import maxes
11 12 from . import maxes3d from . import maxes3d
12 13 from matplotlib import ticker from matplotlib import ticker
 
... ... from matplotlib import ticker
15 16 __all__ = [ __all__ = [
16 17 'convergence_diagram', 'convergence_legend', 'double_proxy_diagram', 'convergence_diagram', 'convergence_legend', 'double_proxy_diagram',
17 18 'four_branch_convergence', 'beta_diagram', 'double_diagram', 'suspension_3d', 'four_branch_convergence', 'beta_diagram', 'double_diagram', 'suspension_3d',
18 'double_tri_R_plot', 'double_tri_R_twins_plot', 'double_plot',
19 'double_tri_R_plot', 'double_tri_R_twins_plot', 'double_plot', 'G_U_distortion',
19 20 'double_pprod_R_plot', 'double_mprod_R_plot', 'double_pprod_R_plot', 'double_mprod_R_plot',
20 21 'triple_plot', 'triple_wide', 'triple_wide_50_100', 'triple_plot_50_100', 'triple_plot', 'triple_wide', 'triple_wide_50_100', 'triple_plot_50_100',
21 22 'triple_nodes_plot', 'triple_wide_25_50', 'triple_nodes_plot', 'triple_wide_25_50',
 
... ... def double_tri_R_plot(fig, sample_box, space):
229 230 maxes.tri_nodes_plot(ax, tri_space='R', tn_scheme=tn_scheme, nrid=2000, maxes.tri_nodes_plot(ax, tri_space='R', tn_scheme=tn_scheme, nrid=2000,
230 231 ms=1.5, mew=0.4, lw=0.35, linewidths=linewidths) ms=1.5, mew=0.4, lw=0.35, linewidths=linewidths)
231 232 ax.set_title(space_labels['G'], pad=10) ax.set_title(space_labels['G'], pad=10)
233
234
235
236
237 def G_U_distortion(fig, sample_box, space):
238 try:
239 tn_scheme = sample_box.Tri.tn_scheme
240 except:
241 import quadpy
242 tn_scheme = quadpy.tn.grundmann_moeller(sample_box.nvar, 5)
243 ms=3
244 mew=0.6
245 lw=0.7
246 linewidths=[0.7, 0.5, 0.4, 0.3, 0.2, 0.1]
247 nrid=100
248
249 from .. import simplex as six
250
251
252 def _draw_nodes(*args, **kwargs):
253 # callback's signature: sx, indices=, simplex=, nodes=, cell_stats=
254 # positional "sx" is Tri object itself
255 # "indices" are numbers of simplex vertices
256 # "simplex" are vertices itself
257 # "nodes" is what we really want to draw
258
259 event = kwargs['cell_stats']['event']
260
261 if event == 'mix':
262 color = (149/255, 173/255, 1, 0.7)
263 mart.plot_sample(ax1, kwargs['nodes'], ls='', marker='.',\
264 mew=0, mfc=color, ms=2.8, alpha=0.5, rasterized=True)
265 mart.plot_sample(ax, kwargs['nodes'], ls='', marker='.',\
266 mew=0, mfc=color, ms=2.8, alpha=0.5, rasterized=True)
267
268
269 Tri = six.JustCubatureTriangulation(sample_box, tn_scheme=tn_scheme, \
270 tri_space='U', issi=None,\
271 weighting_space=None, \
272 incremental=False,\
273 on_add_simplex=_draw_nodes,\
274 on_delete_simplex=None)
275
276
277 ax1 = ax = fig.add_subplot(121)
278 ax.sample_box = sample_box
279 ax.space = 'G'
280 ax.set_aspect(1)
281 ax.set_box_aspect(1)
282 ax.margins(0)
283 ax.set_title(space_labels[ax.space])#, pad=10)
284 x_label="$x_1$"; y_label="$x_2$"
285 ax.set_xlabel(x_label)
286 ax.set_ylabel(y_label)
287 mart.tri_plot(ax, Tri=Tri, color="#B2B2B2", lw=lw/1.4, zorder=100, rasterized=True)
288 mart.plot_points(ax, ms=ms, mew=mew, zorder=100500)
289 mart.number_points(ax, ha="left", va="bottom", zorder=1005000)
290 try:
291 mart.plot_boundaries(ax, lw=lw, zorder=1050, nrod=nrid)
292 except:
293 pass
294
295 ax = fig.add_subplot(122)
296 ax.sample_box = sample_box
297 ax.space = 'U'
298 ax.set_aspect(1)
299 ax.set_box_aspect(1)
300 ax.margins(0)
301 ax.set_title(space_labels[ax.space])#, pad=10)
302 ax.set_xlabel(x_label)
303 #ax.set_ylabel(y_label)
304 mart.triplot(ax, color="#B2B2B2", lw=lw/1.4, zorder=100)
305 mart.plot_points(ax, ms=ms, mew=mew, zorder=100500)
306 mart.number_points(ax, ha="left", va="bottom", zorder=1005000)
307 try:
308 mart.plot_boundaries(ax, lw=lw, zorder=1050, nrod=nrid)
309 except:
310 pass
311
312 Tri.integrate()
313
314
315
232 316
233 317 def double_plot(fig, sample_box, space, lim=100): def double_plot(fig, sample_box, space, lim=100):
234 318 #fig.set_figwidth(19/2.54) #fig.set_figwidth(19/2.54)
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