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)
simplex: finish Ghull 5cb6d06a1c77cdb0cc1d3e83cfb217924b2345f1 I am 2021-03-03 23:06:13
simplex.Ghull: WIP 043724e7d4fe0c25ac698becf6498bc2abb8bf29 I am 2021-03-03 17:06:08
sball: je naimplementována třída Shell b335ba64be48582ca2f31baf035d0f5c6c75090c I am 2021-03-03 13:45:02
sball: new gamma-based solution. Keep the old version as well b6ac51b6b08ca2e7d5c398fa56c5a9a0832ab301 I am 2021-02-24 10:55:11
mart: add convergence plot 85a9ef727d15fc6567b7b0a594ed52cef9fe5680 I am 2021-02-22 23:32:34
mart: add basic plot and scatter functions 20e04c27db7ee3ac3a6418300eb4fc1ef532a1c7 I am 2021-02-22 14:45:31
mart: add convex hull related functions 5284e4c1c747fe25d220e7e3a6a9803d8bc6d4a1 I am 2021-02-21 20:57:52
axes3d_: draw only bottom pane 5a24020e052a7adbc17485b4c9c74d7eea801765 Alex 2021-02-12 20:50:09
mart3d: tri surface fix 2f1889070cea6c97937e00d76ce029744c9f8d07 Alex 2021-02-12 10:01:59
mart3d: add plot_wireframe 8b21a8ca659e4f2146459ea5f4cc006535f51308 I am 2021-02-12 04:45:56
mart and mart3d: add new functions fdbfd002214bf7ab7be8df8e90d6b96b62c82d13 I am 2021-02-10 17:18:02
qt_plot: update slider on redraw, add simplex estimation with no graphics 7b392cd9ee8487a620466fe757a17c7fcfff2770 I am 2021-02-09 23:00:32
mart: WIP 81d970b1e515032f0414d1cc4c6d7473f187d162 I am 2021-02-09 19:38:36
mart3d: add scatter_points() 26644c64e3b996b68e1ee133e4531380d4e00090 I am 2021-02-08 18:03:51
mart3d: new matplotlib-support module 8b6b13937a0694998e0b4de7b8a96d89abecc64a I am 2021-02-08 13:47:56
gmodels: increased no of discretization points in boundary for Pareto function 7f12597e2d15b2564d612a014fd75492663043dd Miroslav Vořechovský 2021-02-05 15:28:32
gmodels.py added boundary for Pareto function e7bc61e9c5854bc4cff0ee05b651b4b7ede4e0a1 Miroslav Vořechovský 2021-02-05 15:14:52
improved estimation of pf for Pareto Example 427602319f6a81e896b7aa50fd8947c5a1a91873 Miroslav Vořechovský 2021-02-05 14:15:41
dicebox.Razitko: little fixes 0e3f9147a40b7008ddec0893c3965136bac7fedf I am 2021-02-05 12:32:27
f_models.UnCorD.sample_pdf: Rn pdf fix 66cf81e4fc0bb2c6dab506cef5309c5da65a7f2c I am 2021-02-05 12:31:22
Commit 5cb6d06a1c77cdb0cc1d3e83cfb217924b2345f1 - simplex: finish Ghull
Author: I am
Author date (UTC): 2021-03-03 23:06
Committer name: I am
Committer date (UTC): 2021-03-03 23:06
Parent(s): 043724e7d4fe0c25ac698becf6498bc2abb8bf29
Signer:
Signing key:
Signing status: N
Tree: 9f08c0ac4f4a0d82a0b1e5e27dabd6d4b2c0286f
File Lines added Lines deleted
simplex.py 28 12
File simplex.py changed (mode: 100644) (index 631c3ec..ed37e05)
... ... from .candybox import CandyBox
13 13 #č Dostávám za to peníze. #č Dostávám za to peníze.
14 14 #č Takže. Udělám 3 druhů estimátorů #č Takže. Udělám 3 druhů estimátorů
15 15 # convex_hull_estimation -2: inside, -1: outside # convex_hull_estimation -2: inside, -1: outside
16 # ghull_estimation -22: pith, -21: heartwood, -12: sapwood, -11: bark
17 # shell_estimation -22: inner, -20: shell, -11: outer
16 # shell_estimation -22: inner, -3: shell, -11: outer
17 # ghull_estimation -22: inner, -21: shell inside, -12: shell outside, -11: outer
18 18 class Ghull: class Ghull:
19 19 def __init__(self, sample, incremental=True, design=None): def __init__(self, sample, incremental=True, design=None):
20 20 self.sample = sample self.sample = sample
 
... ... class Ghull:
62 62 R = self.get_R() R = self.get_R()
63 63 shell.set_bounds(r, R) shell.set_bounds(r, R)
64 64
65 # shell_estimation -22: inner, -20: shell, -11: outer
66 shell_estimation = {-22:shell.ps, -20: shell.p_shell, -11: shell.pf}
65 # shell_estimation -22: inner, -3: shell, -11: outer
66 shell_estimation = {-22:shell.ps, -3: shell.p_shell, -11: shell.pf}
67 67 global_stats = {"r":r, "R":R, "inner":shell.ps, "shell":shell.p_shell, "outer":shell.pf} global_stats = {"r":r, "R":R, "inner":shell.ps, "shell":shell.p_shell, "outer":shell.pf}
68 68 return shell_estimation, global_stats return shell_estimation, global_stats
69 69
70 70 def integrate(self, nis): def integrate(self, nis):
71 71 #č no to teda disajn třidy je doopravdy hroznej #č no to teda disajn třidy je doopravdy hroznej
72 72 # .get_shell_estimation() will calculate radiuses and will update shell # .get_shell_estimation() will calculate radiuses and will update shell
73 shell_estimation, global_stats = self.get_shell_estimation()
74 sample_G = self.shell.rvs(nis)
73 ghull_estimation, global_stats = self.get_shell_estimation()
74 nodes_G = self.shell.rvs(nis)
75 75 mask = is_outside(self.convex_hull, sample_G) mask = is_outside(self.convex_hull, sample_G)
76 76 #č nevím proč, ale kdysi mě to vyšlo rychlejc jak obyčejný součet #č nevím proč, ale kdysi mě to vyšlo rychlejc jak obyčejný součet
77 77 nf = len(mask[mask]) nf = len(mask[mask])
78 78 ns = nis - nf ns = nis - nf
79 p_shell = self.shell.p_shell
79 # shell_estimation -22: inner, -3: shell, -11: outer
80 p_shell = shell_estimation.pop(-3)
80 81 shell_pf = nf/nis * p_shell shell_pf = nf/nis * p_shell
81 82 shell_ps = ns/nis * p_shell shell_ps = ns/nis * p_shell
82 83
83 global_stats[]
84 # -1 = 'outside'
85 # -2 = 'inside'
86 nodes.event_id = mask - 2
87 nodes.is_outside = mask
84 # ghull_estimation -22: inner, -21: shell inside, -12: shell outside, -11: outer
85 ghull_estimation = shell_estimation; del(shell_estimation)
86 ghull_estimation[-21] = shell_ps
87 ghull_estimation[-12] = shell_pf
88 global_stats["shell inside"] = shell_ps
89 global_stats["shell outside"] = shell_pf
90
91 # convex_hull_estimation -2: inside, -1: outside
92 inside = shell_ps + self.shell.ps
93 outside = shell_pf + self.shell.pf
94 convex_hull_estimation = {-2: inside, -1: outside}
95 global_stats["inside"] = inside
96 global_stats["outside"] = outside
97
98 nodes = self.sample.f_model.new_sample(nodes_G, space='G')
99 # -2 = 'inside' -1 = 'outside'
100 nodes = CandyBox(nodes, event_id=mask-2, is_outside=mask)
101
102 return nodes, ghull_estimation, convex_hull_estimation, global_stats
103
88 104
89 105
90 106
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