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)
dicebox.circumtri: return back weighted entropy 0424243e29a600ecb1d046631badbc9797e11369 I am 2022-12-28 19:11:30
qt_gui.qt_graph_widgets: reflect renewed simplex estimators 90c83c7c7e6e58d6b9044db1a5e55f9a8a7dd7cd I am 2022-12-28 16:15:40
dicebox: rework CircumTri e360b2f092c11a42b5ac1081061f2891bff3d8de I am 2022-12-28 15:52:28
simplex: make _Triangulation more clean; rework CubatureIntegration fb7dd9fef8592944fbd93a3f07b44c2355d45e20 I am 2022-12-28 15:48:20
introduce shell module, clean version of ghull b13e9b2b15d109770e0c3fbdd5bb7b2a3b5bf5fc I am 2022-12-28 15:45:27
qt_gui.qt_plot.CandidatesWidget: regression fix a75874b5a53e7b420672b582f3ff415b17a32e9b I am 2022-12-23 12:19:51
qt_gui.qt_pairwise.ContactWidget: add mask function 6f88fec7db92e5cd21826a06f42a609a3e03cb6b I am 2022-12-21 15:20:01
qt_gui.qt_pairwise.ContactWidget: add option for mixed pairs only adjacency search. 2f87e8a18908de607b8abc0779448ca3095c134c I am 2022-12-21 14:30:23
qt_gui.qt_dicebox: reflect changes in CircumTri class 9821d389240a383f0b13b7dd92cd501e1c40c537 I am 2022-12-15 09:36:16
dicebox.circumtri: employ _Exploration class. Keep naive CircumTri class in renamed module b8605fb24d55b3296ceac34afba541a5b7ee3070 I am 2022-12-15 09:33:59
convex_hull.QHull.get_exploration_vector: self -> hull fix dae47ef37b5871a98d2ea274cc35aeb2a4eebe1c I am 2022-12-15 09:30:31
qt_gui/qt_dicebox: add DumpExplorationWidget b687895f06c780418a12eea59bd052ad7cd348f3 I am 2022-12-15 01:31:14
dicebox: add helper _exploration module 836ae6cd12f1a04f1e2fc3423e46777d16ebad7d I am 2022-12-15 01:30:20
convex_hull: add get_exploration_vector() method 795259d91b64c732e60a83a1d9e3b89c2141b003 I am 2022-12-15 01:28:12
qt_gui.qt_gui: dot not create graph widgets if estimations are not present f070ed140a135a980e4436ed3779455c0e1bf399 I am 2022-12-14 02:25:45
qt_gui.gl_plot.CandidatesWidget: apply changes for GLplot too 03550040b60c67d247e26425e35fac565dd88886 Aleksei Gerasimov 2022-12-14 01:56:01
qt_gui.qt_plot.CandidatesWidget: add CandyNodes support 2357cdd92170b1f660b15c92aec695d3f7c108b3 I am 2022-12-14 01:08:30
qt_gui.qt_graph_widgets.EstimationGraph: reimplement piece of zerosafe logic 342a1b7bfddb7ba5695b3f0e017c7f75811db1f0 I am 2022-12-13 22:15:54
qt_gui.qt_graph_widgets: update x range when box runned c52052a9c3f6926d03e8c39f7642aa0a8864fdc3 I am 2022-12-13 10:23:45
qt_gui.qt_graph_widgets.EstimationGraph: add outside and mixed lines df6c06e4287492855d613b1ae46edfca6a4757d3 I am 2022-12-12 06:13:55
Commit 0424243e29a600ecb1d046631badbc9797e11369 - dicebox.circumtri: return back weighted entropy
Author: I am
Author date (UTC): 2022-12-28 19:11
Committer name: I am
Committer date (UTC): 2022-12-28 19:11
Parent(s): 90c83c7c7e6e58d6b9044db1a5e55f9a8a7dd7cd
Signer:
Signing key:
Signing status: N
Tree: a0858964498fbceb78b277e042103a67d7447a22
File Lines added Lines deleted
wellmet/dicebox/circumtri.py 10 5
wellmet/qt_gui/qt_dicebox.py 7 2
File wellmet/dicebox/circumtri.py changed (mode: 100644) (index 8851153..c585d15)
... ... class CircumTri(_Exploration):
47 47 #č quadpy umístí integráční bodíky v prostoru triangulace. #č quadpy umístí integráční bodíky v prostoru triangulace.
48 48 def __init__(bx, sample_box, scheme, q=10, #circumcenters_only=True, def __init__(bx, sample_box, scheme, q=10, #circumcenters_only=True,
49 49 store_candidates_metainformation=False, store_candidates_metainformation=False,
50 potential_mode=5, shell_budget=1000):
50 potential_mode=2, weighted_entropy=True, shell_budget=1000):
51 51
52 52 bx.sample_box = sample_box bx.sample_box = sample_box
53 53 bx.scheme = scheme bx.scheme = scheme
 
... ... class CircumTri(_Exploration):
57 57
58 58 bx.shell_budget = shell_budget bx.shell_budget = shell_budget
59 59 bx.potential_mode = potential_mode bx.potential_mode = potential_mode
60 bx.weighted_entropy = weighted_entropy
60 61 bx.store_candidates_metainformation = store_candidates_metainformation bx.store_candidates_metainformation = store_candidates_metainformation
61 62 #bx.circumcenters_only = circumcenters_only #bx.circumcenters_only = circumcenters_only
62 63 bx.q = q bx.q = q
 
... ... class CircumTri(_Exploration):
204 205
205 206
206 207 #č teď je to kolbek, který volá Triangulation #č teď je to kolbek, který volá Triangulation
207 def _on_mixed_added(bx, simplex, indices, vertices_model, _nodes, _vol, fr, _wfr, _mfpdf):
208 def _on_mixed_added(bx, simplex, indices, vertices_model, _nodes, _vol, fr, wfr, _mfpdf):
208 209
209 210 circum_center = bx.CC.get_circumcenter(vertices_model) circum_center = bx.CC.get_circumcenter(vertices_model)
210 211 r = distance.euclidean(circum_center, vertices_model[0]) r = distance.euclidean(circum_center, vertices_model[0])
 
... ... class CircumTri(_Exploration):
215 216 circum_potential = r * circum_pdf**(1/bx.nvar) circum_potential = r * circum_pdf**(1/bx.nvar)
216 217
217 218 # circum rating # circum rating
218 circum_rating = circum_potential * get_entropy(fr)
219 if bx.weighted_entropy:
220 entropy = get_entropy(wfr)
221 else:
222 entropy = get_entropy(fr)
223 circum_rating = circum_potential * entropy
219 224
220 225
221 226 #č nodes příjdou zabalené do CandyNodes. Ty mají .attrs a .kwargs #č nodes příjdou zabalené do CandyNodes. Ty mají .attrs a .kwargs
 
... ... class CircumTri(_Exploration):
321 326
322 327
323 328 if max_node_potential > bx.potential_index[-1]: if max_node_potential > bx.potential_index[-1]:
324 node_rating = max_node_potential * max_entropy
329 node_rating = 0 #max_node_potential * max_entropy
325 330 if bx.store_candidates_metainformation: if bx.store_candidates_metainformation:
326 331 outside_node = CandyNodes(outside_nodes[max_node]) outside_node = CandyNodes(outside_nodes[max_node])
327 332 outside_node.potential = max_node_potential outside_node.potential = max_node_potential
 
... ... class CircumTri(_Exploration):
354 359 bx.candidates_index.pop(-1, None) bx.candidates_index.pop(-1, None)
355 360 #č těch kastomných slovníků se bojím... #č těch kastomných slovníků se bojím...
356 361 bx.potential_index.pop(-1, None) bx.potential_index.pop(-1, None)
357 bx.rating_index.pop(-1, None)
362 #bx.rating_index.pop(-1, None)
358 363 bx.potential_index[-1] = 0 #č pro callback bx.potential_index[-1] = 0 #č pro callback
359 364
360 365 bx.shell_stats = bx.ghull.get_shell_estimation() bx.shell_stats = bx.ghull.get_shell_estimation()
File wellmet/qt_gui/qt_dicebox.py changed (mode: 100644) (index e22b909..fce7cee)
... ... class CircumTriWidget(pg.parametertree.ParameterTree):
72 72 'limits': (0, float('inf')), 'value': 5, 'default': 5,\ 'limits': (0, float('inf')), 'value': 5, 'default': 5,\
73 73 'tip': "Used only with Grundmann-Möller and Silvester cubaturas"}) 'tip': "Used only with Grundmann-Möller and Silvester cubaturas"})
74 74
75 params.append({'name': 'potential_mode', 'type': 'int', 'value': 5,
75 params.append({'name': 'potential_mode', 'type': 'int', 'value': 2,
76 76 'title': "potential mode", 'title': "potential mode",
77 77 'limits': (0, float('inf')), 'limits': (0, float('inf')),
78 78 'tip': "0: use rating, \n1: use pure potential, \nn: use pure ponetial for every n-th node"}) 'tip': "0: use rating, \n1: use pure potential, \nn: use pure ponetial for every n-th node"})
 
... ... class CircumTriWidget(pg.parametertree.ParameterTree):
81 81 'type': 'bool', 'value': False, 'type': 'bool', 'value': False,
82 82 'tip': "True allows introspection"}) 'tip': "True allows introspection"})
83 83
84 params.append({'name': 'weighted_entropy', 'title': "weighted entropy",
85 'type': 'bool', 'value': True,
86 'tip': "Choose to calculate agressive (weighted) or simple (vertex) entropy"})
87
84 88 params.append({'name': 'q', 'type': 'float', params.append({'name': 'q', 'type': 'float',
85 89 'limits': (0, float('inf')), 'value': 10, 'default': 10, 'limits': (0, float('inf')), 'value': 10, 'default': 10,
86 90 'tip': '"Agressiveness" of exploration'}) 'tip': '"Agressiveness" of exploration'})
 
... ... class CircumTriWidget(pg.parametertree.ParameterTree):
133 137 potential_mode=self.potential_mode, potential_mode=self.potential_mode,
134 138 store_candidates_metainformation=self.store_candidates_metainformation, store_candidates_metainformation=self.store_candidates_metainformation,
135 139 q=self.q, q=self.q,
136 shell_budget=self.shell_budget
140 shell_budget=self.shell_budget,
141 weighted_entropy=self.weighted_entropy
137 142 ) )
138 143
139 144
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