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)
gl_plot.ConvexHull: ConvexHull reabilitation 188903a3b14611f8a36d22120fc5fd398d7a79b2 Alex 2020-10-26 17:46:32
blackbox.OptimizedCensoringSampling: double adding to ConvexHull fix (only historical meaning) ddd2fbdf40aed2840a66685e30c6e3aa8078b11f Alex 2020-10-26 17:42:24
restore blackbox version from 16.9.20 5947a853d65c32afaf5151a9b04e738f3c27fbeb Alex 2020-10-26 17:12:00
dicebox: add fee and fee2 criteria 54b3e5bcc54f17fa5695653a73e66a8d0f9d84b1 I am 2020-10-25 21:31:37
simplex.Shull: dirty hack to eliminate looping at very beginnig, where Shull cannot hit convex_hull 792607729c198940b8b8c7bece5be846f41a351e I am 2020-10-25 18:14:29
f_models: 1D input error fix 022d2024ff3a3114c8e73c977892992cdb6e0512 I am 2020-10-25 09:20:12
qt_plot: draw boundaries and circles even in nD (don't ask me about its meaning) 96dd44b3c7822dde2de6465663ce90e5a95742f6 I am 2020-10-24 20:09:17
whitebox.get_2D_boundary: now applicable even in nD (no discussing why) 2bb3f1c13a5e3becdc5355f6bb1fdd275c4d7add I am 2020-10-24 19:52:38
f_models: add extend parametr to .new_sample() method 2ee453d95c49ee674b40ac8263596c7e7176fef7 I am 2020-10-24 19:51:36
qt_plot: show first two dimensions for nD problems 3d39373204bfac850d07afdd8629535c54f32196 I am 2020-10-24 11:44:38
qt_plot: BoxTreeWidget added 20343ef57abdac5754dfe0c01eb40fadf8919f23 I am 2020-10-23 10:10:04
dicebox.Chrt: candidates cropping, prevent memory explosion b69739998736e6965faeacd470e0c5c34f83073f I am 2020-10-22 10:24:51
simplex.Shull: explicitly require nis on every run 05feadd5188669357141286c2e3ad45b693e480a I am 2020-10-21 09:06:01
testcases 9dbc2d85042852410aafa72e0d0cf4e15445b6f2 I am 2020-10-16 13:15:51
whitebox: description attribute added 2032b051c9a5c638b1e0807a989b77488eb374b1 Aleksei Gerasimov 2020-10-16 09:25:49
dicebox.Chrt: optimizations 6f8c6f07be9e4d26f8371adce86020533b20de03 Олёш 2020-10-05 22:39:40
dicebox.Chrt: (I hope) last optimizations 080cfa059e4e86eab9659209ec0444fe7284081e Олёш 2020-10-05 14:42:42
dicebox: Chrt is ready c71f42a245818b41b49c9ed9d82b235a713e7562 Олёш 2020-10-05 04:28:08
dicebox: WIP 680a62be35cf31854d91e96bb8debcca283fb53f Олёш 2020-10-02 02:03:44
f_models: little fix, accidentally came in mind 3944ab574ad68434d9310e25f2aff730e6204328 Олёш 2020-10-02 02:02:33
Commit 188903a3b14611f8a36d22120fc5fd398d7a79b2 - gl_plot.ConvexHull: ConvexHull reabilitation
Author: Alex
Author date (UTC): 2020-10-26 17:46
Committer name: Alex
Committer date (UTC): 2020-10-26 17:46
Parent(s): ddd2fbdf40aed2840a66685e30c6e3aa8078b11f
Signer:
Signing key:
Signing status: N
Tree: 8c09ed2087aaad260c65ddb3ec4b4b5bf9bd9937
File Lines added Lines deleted
gl_plot.py 32 15
File gl_plot.py changed (mode: 100644) (index da5e578..7a3fa9a)
... ... class ConvexHull(gl.GLMeshItem):
311 311 self.w.central_widget.addItem(self) self.w.central_widget.addItem(self)
312 312
313 313 def recalculate(self): def recalculate(self):
314 #č velmi krátko - ConvexHull rozmichá vzorky a nadělá ďupy
315 sampled_plan_tri = getattr(self.w.sample_box, self.w.sample_box.tri_space)
316 tree = spatial.cKDTree(sampled_plan_tri)
317 self.points = self.w.sample_box.convex_hull.points
318 dd, ii = tree.query(self.points, k=1, p=2)
314 if (self.w.sample_box.nsim != len(self.w.sample_box.convex_hull.points)):
315 #č ConvexHull nemichá vzorky a nedělá ďupy - byla to chyba v Blackboxu
316 print(self.__class__.__name__ + \
317 ": convex hull points mismatch. Switching to the failsafe code.")
318 sampled_plan_tri = getattr(self.w.sample_box, self.w.sample_box.tri_space)
319 tree = spatial.cKDTree(sampled_plan_tri)
320 self.points = self.w.sample_box.convex_hull.points
321 dd, ii = tree.query(self.points, k=1, p=2)
322
323 self.simplices = self.w.sample_box.convex_hull.simplices
324 box_facets = ii[self.simplices.flatten()].reshape(-1, 3)
325 self.events = self.w.sample_box.get_events(box_facets)
326
327
328 nodes_colors = np.empty((self.w.sample_box.nsim, 4))
329 nodes_colors[self.w.sample_box.failsi] = np.array([253, 93, 97, 0])/255
330 nodes_colors[~self.w.sample_box.failsi] = np.array([67, 255, 81, 0])/255
331
319 332
320 self.simplices = self.w.sample_box.convex_hull.simplices
321 box_facets = ii[self.simplices.flatten()].reshape(-1, 3)
322 self.events = self.w.sample_box.get_events(box_facets)
333 self.vertex_colors = nodes_colors[ii]
334
335 else: #č reabilitace ConvexHull
336 self.points = self.w.sample_box.convex_hull.points
337 self.simplices = self.w.sample_box.convex_hull.simplices
338 self.events = self.w.sample_box.get_events(self.simplices)
339
340
341 nodes_colors = np.empty((self.w.sample_box.nsim, 4))
342 nodes_colors[self.w.sample_box.failsi] = np.array([253, 93, 97, 0])/255
343 nodes_colors[~self.w.sample_box.failsi] = np.array([67, 255, 81, 0])/255
344
345
346 self.vertex_colors = nodes_colors
323 347
324 348
325 nodes_colors = np.empty((self.w.sample_box.nsim, 4))
326 nodes_colors[self.w.sample_box.failsi] = np.array([253, 93, 97, 0])/255
327 nodes_colors[~self.w.sample_box.failsi] = np.array([67, 255, 81, 0])/255
328
329 349
330 self.vertex_colors = nodes_colors[ii]
331 350
332 351 # marker # marker
333 352 self.nsim = self.w.sample_box.nsim self.nsim = self.w.sample_box.nsim
 
... ... class Facets(gl.GLMeshItem):
401 420 self.w.central_widget.addItem(self) self.w.central_widget.addItem(self)
402 421
403 422 def recalculate(self): def recalculate(self):
404 sampled_plan_tri = getattr(self.w.sample_box, self.w.sample_box.tri_space)
405 423 self.points = self.w.sample_box.tri.points self.points = self.w.sample_box.tri.points
406 424
407 425 self.simplices = self.w.sample_box.tri.simplices self.simplices = self.w.sample_box.tri.simplices
 
... ... class Wireframe(gl.GLMeshItem):
486 504 self.w.central_widget.addItem(self) self.w.central_widget.addItem(self)
487 505
488 506 def recalculate(self): def recalculate(self):
489 sampled_plan_tri = getattr(self.w.sample_box, self.w.sample_box.tri_space)
490 507 self.points = self.w.sample_box.tri.points self.points = self.w.sample_box.tri.points
491 508
492 509 self.simplices = self.w.sample_box.tri.simplices self.simplices = self.w.sample_box.tri.simplices
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