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)
qt_plot: just playing 068010ed53213845fa29fc49b18a6edf65fe0c08 Олёш 2020-09-08 22:27:09
qt_plot: FastSimplexEstimationWidget is ready 07210b295638e9022589630bc1fb2a9b7ba5bae6 Олёш 2020-09-08 19:33:31
qt_plot: WIP simplex widget 9c801dee251d9ba17cae0c254df8ca9a2fb88753 Олёш 2020-09-07 22:59:23
qt_plot: polishing (mainly, triangulation) a4d9fd7f841f9f56ee6ff0725315e988b0a683b5 Олёш 2020-09-05 01:53:06
qt_plot: refactoring, WIP 0dffc07efa9557f5660b0be669b4e42ff7b049e8 Олёш 2020-09-04 23:21:58
estimation: fast_simplex_estimation added 28c2325972df8335b80d4a79ac4468363e0b2917 Олёш 2020-09-03 15:52:48
estimation: little enhancement 694db9ebd144ee5e0fba0b068e8c73b5e06a4b98 Олёш 2020-09-02 01:14:20
estimation: new simlex_estimation added be2a9b65df74e9c3d4c03d30530d50796604f431 Олёш 2020-09-01 23:23:22
f_models: little refactoring, performance boost is not almost visible, though a34473ad2ef19973c69bde8b8c6aa29eb1614399 Олёш 2020-08-23 21:52:43
candybox: little fix 65cbd8d0fdbfd80cfa46d2fd7d87d2226b7b2c12 Олёш 2020-08-22 23:50:26
f_models, SNorm: little fix at .add_sample, a little bit better performance 49e808b07d199e8c97d7dfcda24428e8c2a081ec Олёш 2020-08-22 23:48:09
blackbox, OptimizedCensoredSampling: little refactoring, a little better performance 9825bf5531f52acb2af3bdc3b10b4c8c67101300 Олёш 2020-08-22 23:45:44
g_models: four_branch_2D refactored into the class FourBranch2D 5c60519a95121530e97e0a452b2c4ab8926c46fd I am 2020-08-21 21:45:14
LHS turned off, new test function 'Sball' 22057718d681144478dc5ea2b4e94c60394eb4c9 Miroslav Vořechovský 2020-08-13 15:53:55
gl_plot: ready 4c52875c06ecd32dddbbcb9d3638033ece5fb34b Alex 2020-08-11 01:42:53
gl_plot: SimplexEstimationWidget now almost works d25a5a4048d55090c53d63368882f3ae4027236f Alex 2020-08-10 23:34:29
gl_plot: už je to hustý ebcbd27e880f61bece09e126617cf46554f3a41d Alex 2020-08-10 18:26:44
gl_plot: WIP e9032c2b108b42630e8ae894ab9badf4ac4d2064 Alex 2020-08-10 07:27:45
gl_plot: WIP b746a2b7f175681bafbbabb4de8eaae673afdf9b Alex 2020-08-10 01:28:45
blackbox: optimized MinEnergy 6fc8e8bdf4ef1bfd2ae2a02a9b1231310794c0f2 Олёш 2020-08-08 00:09:10
Commit 068010ed53213845fa29fc49b18a6edf65fe0c08 - qt_plot: just playing
Author: Олёш
Author date (UTC): 2020-09-08 22:27
Committer name: Олёш
Committer date (UTC): 2020-09-08 22:27
Parent(s): 07210b295638e9022589630bc1fb2a9b7ba5bae6
Signer:
Signing key:
Signing status: N
Tree: 24a712cb2b283d98a91a54a0881e5ead29fd1167
File Lines added Lines deleted
qt_plot.py 49 26
File qt_plot.py changed (mode: 100644) (index e9c99e3..bc079bc)
... ... class Boundaries:
557 557 if self.item.checkState(): if self.item.checkState():
558 558 for bound, item in self.bounds: for bound, item in self.bounds:
559 559 pos = getattr(bound, self.w.space) pos = getattr(bound, self.w.space)
560 item.setData(pos)
560 mask = np.all(np.isfinite(pos), axis=1)
561 item.setData(pos[mask])
561 562 item.show() item.show()
562 563
563 564 else: else:
 
... ... class Triangulation:
592 593 def show_slot(self, item): def show_slot(self, item):
593 594 if item is self.item: if item is self.item:
594 595 if (self.w.sample_box.nvar==2) and self.item.checkState(): if (self.w.sample_box.nvar==2) and self.item.checkState():
595 for item in self.plot_items:
596 item.show()
596 #for item in self.plot_items:
597 # item.show()
597 598
598 599 #оӵ Мед сюредалоз! #оӵ Мед сюредалоз!
599 600 self.replot() self.replot()
 
... ... class Triangulation:
614 615 if (self.w.sample_box.nvar==2) and self.item.checkState(): if (self.w.sample_box.nvar==2) and self.item.checkState():
615 616 try: try:
616 617 self.simplices = self.w.sample_box.tri.simplices self.simplices = self.w.sample_box.tri.simplices
618 for item in self.plot_items:
619 item.hide()
617 620 self.draw_triangles(range(self.w.sample_box.tri.nsimplex)) self.draw_triangles(range(self.w.sample_box.tri.nsimplex))
618 621
619 622 except BaseException as e: except BaseException as e:
 
... ... class Triangulation:
664 667 # Update the data # Update the data
665 668 plot_item = self.plot_items[simplex_id] plot_item = self.plot_items[simplex_id]
666 669 plot_item.setData(pos) plot_item.setData(pos)
667 #plot_item.show()
670 plot_item.show()
668 671 else: #č spolehám na korektnost volajícího kódu else: #č spolehám na korektnost volajícího kódu
669 672 #оӵ Суредасько #оӵ Суредасько
670 673 plot_item = plot_widget.plot(pos, pen=0.7) plot_item = plot_widget.plot(pos, pen=0.7)
 
... ... class Triangulation:
695 698 # Update the data # Update the data
696 699 plot_item = self.plot_items[simplex_id] plot_item = self.plot_items[simplex_id]
697 700 plot_item.setData(pos) plot_item.setData(pos)
698 #plot_item.show()
701 plot_item.show()
699 702 else: #č spolehám na korektnost volajícího kódu else: #č spolehám na korektnost volajícího kódu
700 703 #оӵ Суредасько #оӵ Суредасько
701 704 plot_item = plot_widget.plot(pos, pen=0.7) plot_item = plot_widget.plot(pos, pen=0.7)
 
... ... class FastSimplexEstimationWidget(pg.LayoutWidget):
1356 1359 #č nejdřív triangulace #č nejdřív triangulace
1357 1360 for tri_bound, plot_item in self.triangulation: for tri_bound, plot_item in self.triangulation:
1358 1361 plot_item.hide() plot_item.hide()
1362 # keep the GUI responsive :)
1363 #self.sb_item.app.processEvents()
1359 1364
1360 1365 #č teď tečičky #č teď tečičky
1361 1366 for nodes, plot_item, cell_stats in self.simplices: for nodes, plot_item, cell_stats in self.simplices:
1362 1367 plot_item.hide() plot_item.hide()
1368 # keep the GUI responsive :)
1369 #self.sb_item.app.processEvents()
1363 1370
1364 1371
1365 1372 def recolor(self): def recolor(self):
1366 #č nejdřív triangulace
1367 for tri_bound, plot_item in self.triangulation:
1368 plot_item.show()
1369
1370 #č teď tečičky
1371 for nodes, plot_item, cell_stats in self.simplices:
1372 event = cell_stats['event']
1373 if event in self.max_simplices:
1374 cell_probability = cell_stats['cell_probability']
1375 cm = self.param.getValues()[event][0] #č očekávám tam kolor mapu
1376 blue_intensity = cell_probability / self.max_simplices[event]
1377 color = cm.mapToQColor(blue_intensity)
1378 else: # outside
1379 color = 0.6
1380 #symbolSize = np.sqrt(nodes.w / min(nodes.w)) # not bad
1381 size = self.param.getValues()['node (pixel) size'][0]
1382 plot_item.setSymbolBrush(color)
1383 plot_item.setSymbolSize(size)
1384 plot_item.show()
1373 with pg.BusyCursor():
1374 # keep the GUI responsive :)
1375 self.sb_item.app.processEvents()
1376 #č nejdřív triangulace
1377 for tri_bound, plot_item in self.triangulation:
1378 plot_item.show()
1379
1380
1381 #č teď tečičky
1382 for nodes, plot_item, cell_stats in self.simplices:
1383 event = cell_stats['event']
1384 if event in self.max_simplices:
1385 cell_probability = cell_stats['cell_probability']
1386 cm = self.param.getValues()[event][0] #č očekávám tam kolor mapu
1387 blue_intensity = cell_probability / self.max_simplices[event]
1388 color = cm.mapToQColor(blue_intensity)
1389 else: # outside
1390 color = 0.6
1391 #symbolSize = np.sqrt(nodes.w / min(nodes.w)) # not bad
1392 size = self.param.getValues()['node (pixel) size'][0]
1393 plot_item.setSymbolBrush(color)
1394 plot_item.setSymbolSize(size)
1395 plot_item.show()
1396 # keep the GUI responsive :)
1397 #self.sb_item.app.processEvents()
1385 1398
1386 1399
1387 1400
1388 1401 def on_space_changed(self, *args, **kwargs): def on_space_changed(self, *args, **kwargs):
1402 #with pg.BusyCursor():
1403 #self.hide()
1404 # keep the GUI responsive :)
1405 #self.sb_item.app.processEvents()
1389 1406 #č nejdřív triangulace #č nejdřív triangulace
1390 1407 for tri_bound, plot_item in self.triangulation: for tri_bound, plot_item in self.triangulation:
1391 1408 pos = getattr(tri_bound, self.sb_item.space) pos = getattr(tri_bound, self.sb_item.space)
1392 plot_item.setData(pos=pos)
1409 plot_item.setData(pos)
1410 #plot_item.show()
1411 # keep the GUI responsive :)
1412 #self.sb_item.app.processEvents()
1393 1413
1394 1414 #č teď tečičky #č teď tečičky
1395 1415 for nodes, plot_item, cell_stats in self.simplices: for nodes, plot_item, cell_stats in self.simplices:
1396 1416 pos = getattr(nodes, self.sb_item.space) pos = getattr(nodes, self.sb_item.space)
1397 plot_item.setData(pos=pos)
1417 plot_item.setData(pos)
1418 #plot_item.show()
1419 # keep the GUI responsive :)
1420 #self.sb_item.app.processEvents()
1398 1421
1399 1422
1400 1423 #č ten hlavní modul se dočkal na překopávání #č ten hlavní modul se dočkal na překopávání
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