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_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
qt_gui: replace old copypaste by cleaned up EstimationGraph 515d0d8a892984f8a7667da874972daff3318d74 I am 2022-12-12 05:36:43
qt_gui: prepare new BoxEstimationData class; rework ErrorGraph 37387100715f980771a8a37f99eec3e723759cd3 I am 2022-12-11 23:17:06
dicebox.circumtri: replace ndim by nvar to make TriEstimation pandas-friendly 0824222ae4c9c1f3fede971481816ed9ded9707a I am 2022-12-11 23:14:05
step back: introduce box_estimations, keep "estimations" for user ones dde983d57423e28083980cbae05f0a81fc8311e6 I am 2022-12-10 03:54:09
simplex.BetterCubatureIntegration: hotfix f8a607e5d60c591eb81037010717519c1fe6e993 I am 2022-12-08 00:29:57
qt_gui.qt_gui: add EstimationTableWidget bb44fc8a056ed90906c217cfc95f7cabc6ef71eb I am 2022-12-07 23:17:42
remove deprecated never used Plotly code d42ebb3535e4736a1e9fdb84c8d6dae633c83a33 I am 2022-12-07 15:03:51
dicebox.circumtri.CircumTri: enable estimations 4fe25ad47d71b1fd19fe00ad03d9b320b8c8614c I am 2022-12-07 14:30:46
dicebox: introduce new clean experimental CircumTri box aca3e971212590a59e9d07a3ff1aa952d02a848b I am 2022-12-07 04:19:55
simplex.Triangulation: keep locally pdfs and failsi, send tuple on simplex invalidation d2885ce44585e22294f9940159d6313642164f4c I am 2022-12-07 04:14:05
convex_hull.QHull: manual update() fix 5ccff702b9920c7525c88d306f2300cd43b2e76b I am 2022-12-07 04:02:39
simplex: implement BetterCubatureIntegration 88b14adc4423f0587bd51bed06e74ce6d0d60bd1 I am 2022-12-05 22:20:31
convex_hull.BrickHull: add get_hyperplane_distances() method a use it as fallback for the Qhull 48d35c953a5cbbf739e5e838709bc00fe2f047d4 I am 2022-12-05 03:30:12
convex_hull.Qhull: add get_hyperplane_distances() method, add auto_update parameter 28aada4b79b52f58c4ad43d270be997ec6359166 I am 2022-12-04 22:49:41
move diceboxes to the dedicated drawer 31c7d30ed43f04b9469df843f909814c062adf5e I am 2022-12-04 21:27:37
reader: finally, add new Store class for the estimations 673b7daa8213807d0217089b3317674595156f6d I am 2022-12-03 17:46:22
Commit 2357cdd92170b1f660b15c92aec695d3f7c108b3 - qt_gui.qt_plot.CandidatesWidget: add CandyNodes support
Author: I am
Author date (UTC): 2022-12-14 01:08
Committer name: I am
Committer date (UTC): 2022-12-14 01:08
Parent(s): 342a1b7bfddb7ba5695b3f0e017c7f75811db1f0
Signer:
Signing key:
Signing status: N
Tree: 457920bf693182ae2bd60fc093830d3ecf37701c
File Lines added Lines deleted
wellmet/qt_gui/qt_plot.py 21 16
File wellmet/qt_gui/qt_plot.py changed (mode: 100644) (index f70b948..fb217a5)
... ... class CandidatesWidget(pg.LayoutWidget):
2259 2259
2260 2260 # 2 # 2
2261 2261 # #
2262 #č predpokladam pandas verzi CandyBox'u
2263 #items = list(self.sb_item.sample_box.candidates_index[-1].df.columns)
2264 try:
2265 #č načíst sloupce prostě z libovolného vzorku
2266 df = self.sb_item.sample_box.candidates_index.values().__iter__().__next__()
2267 items = df.columns
2268 except:
2269 #♥ мыным дунне
2270 items = []
2271
2272 self.attr = pg.ComboBox(items=items)
2262
2263 self.attr = pg.ComboBox(items=self.get_items())
2273 2264 #self.attr.activated.connect(self.redraw) #self.attr.activated.connect(self.redraw)
2274 2265 self.addWidget(self.attr, row=1, col=0, colspan=2) self.addWidget(self.attr, row=1, col=0, colspan=2)
2275 2266
 
... ... class CandidatesWidget(pg.LayoutWidget):
2286 2277 self.pens = [] self.pens = []
2287 2278
2288 2279
2280 def get_items(self):
2281 try: #č výbrat libovolný vzorek
2282 nodes = next(iter(self.sb_item.sample_box.candidates_index.values()))
2283 return self.get_items_from_nodes(nodes)
2284 except:
2285 return []
2286
2287 @staticmethod
2288 def get_items_from_nodes(nodes):
2289 try:
2290 #č predpokladam pandas verzi CandyBox'u
2291 return list(nodes.columns)
2292 except:
2293 #č CandyNodes?
2294 return list(nodes.kwargs.keys()) + list(nodes.attrs.keys())
2295
2289 2296 def run_stm(self): def run_stm(self):
2290 2297 #č indikace #č indikace
2291 2298 #self.setDisabled(True) #self.setDisabled(True)
 
... ... class CandidatesWidget(pg.LayoutWidget):
2295 2302 color_map = self.gradient.colorMap() color_map = self.gradient.colorMap()
2296 2303
2297 2304 try:#č může se tu stat cokoliv try:#č může se tu stat cokoliv
2298 #č načíst sloupce prostě z libovolného vzorku
2299 cb = self.sb_item.sample_box.candidates_index.values().__iter__().__next__()
2300 2305 #č je třeba mít seznam aktualní #č je třeba mít seznam aktualní
2301 self.attr.setItems(list(cb.df.columns))
2306 self.attr.setItems(self.get_items())
2302 2307
2303 2308 #č neplest s self.attr! #č neplest s self.attr!
2304 2309 attr = self.attr.currentText() attr = self.attr.currentText()
 
... ... class CandidatesWidget(pg.LayoutWidget):
2307 2312 maxvalue = -np.inf maxvalue = -np.inf
2308 2313 minvalue = np.inf minvalue = np.inf
2309 2314 for id, cb in self.sb_item.sample_box.candidates_index.items(): for id, cb in self.sb_item.sample_box.candidates_index.items():
2310 array = getattr(cb, attr)
2315 array = np.atleast_1d(getattr(cb, attr))
2311 2316 if len(array): if len(array):
2312 2317 maxcb = np.nanmax(array) maxcb = np.nanmax(array)
2313 2318 mincb = np.nanmin(array) mincb = np.nanmin(array)
 
... ... class CandidatesWidget(pg.LayoutWidget):
2326 2331
2327 2332 #č a teď jdeme! #č a teď jdeme!
2328 2333 for id, cb in self.sb_item.sample_box.candidates_index.items(): for id, cb in self.sb_item.sample_box.candidates_index.items():
2329 array = getattr(cb, attr)
2334 array = np.atleast_1d(getattr(cb, attr))
2330 2335 if np.isnan(array).any(): if np.isnan(array).any():
2331 2336 msg = "%s candidates has nans in %s attribute"%(id, attr) msg = "%s candidates has nans in %s attribute"%(id, attr)
2332 2337 error_msg = self.__class__.__name__ + ": " + msg error_msg = self.__class__.__name__ + ": " + msg
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