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: pochybná optimizace výběru kandidatů s použitím vlastního slovníku. Pořádně bych musel překopat celý DiceBox. 0f30c4301a1f2b40556a9c84ee4b8c53638a6571 I am 2021-12-19 20:33:43
simplex: bottleneck optimization. Překopal jsem triangulation.update() 3a110baebb237b3f99ec338c2b19f375cdcb5819 Aleksei Gerasimov 2021-12-13 15:31:38
convex_hull: improve orth estimator. Brat ndim nejbližších hyperrovin. Funguje dobře. Co vidím, numpy hlídá ortogonalitu, za mě cajk. e29b374abde5e3e35dd22f327dc709927411a7b5 I am 2021-12-13 00:09:59
simplex: optimize simplex validation a little bit 1473f72432e93bc349e34c1a7a8ed25ce96c08fd I am 2021-12-11 22:05:10
mplot: apply recommened tex settings 48b0ce9931157494afd340d9bf02a763c75b65ec I am 2021-12-05 13:23:15
qt_gui.qt_plot: rework cubature selection 17691c7770acdef9e862e21d62b4abbd4fee391c Aleksei Gerasimov 2021-11-30 13:36:34
qt_plot: import cubature schemes (regression fix) e9fe073ebd2da613e834cda1fc154d8ed7455cad Aleksei Gerasimov 2021-11-30 12:30:48
qt_gui: show tree space instead of just (unclear even for me) "potential space" 98b485ab34d7c47e3d4bcbb827589b86d0356538 Aleksei Gerasimov 2021-11-30 12:27:32
dicebox: print P coordinates of orphan candidates ac5ea313e0e542436cb8685a2cff3e241bd57e59 Aleksei Gerasimov 2021-11-30 12:26:36
simplex: check cubatures for non finite values (nan) e41838b1350e256e32ab2e6014c594bec873c973 Aleksei Gerasimov 2021-11-30 12:24:29
ghull: fix orth estimator for non-Gaussian distributions ceae4981fa46cc770cdedb84bc59f4802a657364 Aleksei Gerasimov 2021-11-30 09:25:02
mplot.misc: enable latex 633721276f8f61aa7f82b37443f5a304a85c2f84 Aleksei Gerasimov 2021-11-29 13:45:58
ghull: limit memory consuption to 1/10 of RAM f5c173be56dff7811f799551d2261aac0f719c72 I am 2021-11-28 08:53:55
qt_gui: add missing comma d56fa172be68d963105dd36c1cf0b1536fe6f080 I am 2021-11-28 08:14:29
mplot.mgraph: add outside line to tri_estimation_plot de5fb9d7d6fe6fd930ec7541c82fd4cf2e7d5794 Aleksei Gerasimov 2021-11-25 14:13:35
mplot.mgraph: add tri_estimation_plot eaaf410b48988c53ca31dee1203654dfef1adb06 Aleksei Gerasimov 2021-11-23 09:36:19
mplot.mgraph: do not use ax.sample_box 94cee6efca47351093d49b5c801e410e1375a5c7 Aleksei Gerasimov 2021-11-16 17:12:08
testcases: sball testcase fix 7878752fffa54bda772a5a6768bddbf05357ae73 Aleksei Gerasimov 2021-11-10 14:06:14
dicebox: replace tabs afe3b91d0b1ee621f0e605a28b12405e15ce9a22 I am 2021-11-07 16:44:44
dicebox: prepare KickPointVoronoi 9543e93d56d9724a91f1e2d443fdb8f4cbaf60e6 Aleksei Gerasimov 2021-11-04 14:13:23
Commit 0f30c4301a1f2b40556a9c84ee4b8c53638a6571 - dicebox: pochybná optimizace výběru kandidatů s použitím vlastního slovníku. Pořádně bych musel překopat celý DiceBox.
Author: I am
Author date (UTC): 2021-12-19 20:33
Committer name: I am
Committer date (UTC): 2021-12-19 20:33
Parent(s): 3a110baebb237b3f99ec338c2b19f375cdcb5819
Signer:
Signing key:
Signing status: N
Tree: f5006fb29b974eef88e52fc12d7b7942ad6c3fea
File Lines added Lines deleted
dicebox.py 44 10
File dicebox.py changed (mode: 100644) (index f78a440..b440c6f)
... ... class GuessBox:
98 98 else: else:
99 99 print('GuessBox is in air mode') print('GuessBox is in air mode')
100 100
101
102
103 #ё нам позарез нужен ещё один, свой собственный словник
104 class CacheDict(dict):
105 def __init__(self, potential):
106 super().__init__()
107 self.potential = potential
108 self.cache = dict()
109
110
111 def __setitem__(self, key, value):
112 super().__setitem__(key, value)
113
114 bids = getattr(value, self.potential)
115 if len(bids):
116 bid = np.nanmax(bids)
117 else:
118 bid = 0
119 print("Cache", key, bid)
120 self.cache[key] = bid
121
122 def __delitem__(self, key):
123 super().__delitem__(key)
124
125 print("throw away", key)
126 self.cache.__delitem__(key)
127
128 def pop(self, *args):
129
130 print("throw away", args[0])
131 self.cache.pop(*args)
132
133 return super().pop(*args)
134
135
136
137
101 138 #оӵ дӥсё #оӵ дӥсё
102 139 class DiceBox: class DiceBox:
103 140 #č kruci, totálně v tohlenstom ztracím #č kruci, totálně v tohlenstom ztracím
 
... ... class Chrt(DiceBox):
390 427 bx._LHS_regen() bx._LHS_regen()
391 428
392 429 # kind of interface to CandidatesWidget # kind of interface to CandidatesWidget
393 bx.candidates_index = dict()
430 bx.candidates_index = CacheDict(bx.potential)
394 431
395 432 if bx.nsim > 0: if bx.nsim > 0:
396 433 # needed for potential calculation # needed for potential calculation
 
... ... class Goal(DiceBox):
1384 1421 def _handle_candidates(bx): def _handle_candidates(bx):
1385 1422 #č A ještě... AUKCE, AUCTION #č A ještě... AUKCE, AUCTION
1386 1423 # Election - selection # Election - selection
1387 for candidates in bx.candidates_index.values():
1388 bids = getattr(candidates, bx.potential)
1389 if len(bids):
1390 bid = np.nanmax(bids)
1391 # side effect
1392 if bid > bx.highest_bid:
1393 #č pokud neprovadíme optimalizaci v simplexech
1394 #č tak nám stačí jednoduše assessovat
1395 bx.assess_candidates(candidates)
1424 for key, cached_bid in bx.candidates_index.cache.items():
1425 # side effect
1426 if cached_bid > bx.highest_bid:
1427 #č pokud neprovadíme optimalizaci v simplexech
1428 #č tak nám stačí jednoduše assessovat
1429 bx.assess_candidates(bx.candidates_index[key])
1396 1430
1397 1431 # probably, we shouldn't purge user candidates (if they are) # probably, we shouldn't purge user candidates (if they are)
1398 1432 # just every time evaluate them # just every time evaluate them
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