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)
simplex._Sense: implement piece of postprocessing to get unique vectors 4088852e703947643a8388b2ba8839a694211566 I am 2023-03-10 17:22:29
simplex.SeparationAxis: in case of an unexpected linprog status print result message too 1c9346233693533afb07022c78308b3be6ea9ec7 I am 2023-03-10 15:40:06
whitebox: implement method to .get_sensitivities() from 2D boundary 5729723cfe5c93658c3739fbfec384e135b44073 I am 2023-03-09 22:14:27
simplex.SeparationAxis: make an perfectionism-driven change 8278c48915c326e7731f1934732550c5b9c18e64 I am 2023-03-09 21:51:18
simplex.SeparationAxis: little fix for an hypotetical issue 838e476387c31f9c6847cf7ae8a2a01514038a03 I am 2023-03-09 15:19:48
simplex._Sense: bugfix 3ae53e8b178107b8beb6ad960ec683c8d38a3b3c I am 2023-03-07 23:23:36
simplex._Sense: totally rework, finalized vectors are introduced 829ba58a93481541a58cd4a9f6dae0ba9fb611c6 I am 2023-03-07 13:33:38
simplex: preliminary commit of an _Sense's auxiliary class - brand new SeparationAxis c0bbb714400df48abf7a398e018c5626803bf024 I am 2023-03-04 10:17:12
simplex._Sense: one more optimization a51f4ba65ad4a55ecc74fd82a6e011a4eeed8a5d I am 2023-02-26 15:21:23
qt_gui.qt_plot: implement sensitivity-related Arrows class b5365ae3ca3ab0ed8018e60d4e8711c5c30e4d96 I am 2023-02-26 14:31:10
simplex._Sense: rename "sensibility" to sensitivity a9d56d5386730263eb27e6e31f07b99bab0620fb I am 2023-02-26 14:29:54
g_models: add quadratic 013b4ddc108b94061eaebc1a10d18427f10a34d4 I am 2023-02-24 08:04:12
simplex._Sense: one more performance trick 59b423cca53b9975da67d876110927f233506de8 I am 2023-02-24 08:03:23
simplex: implement separability-based sensibility analysis (new brand _Sense class) 9c5d58f2301893ceaec1b0e90bff76035cfa15b2 I am 2023-02-23 18:49:11
dicebox.circumtri.CirQTri: switch to GaussCubatureIntegration 5b52dd25cb7a997af4953230116deb9efc577d56 I am 2023-02-11 04:32:48
simplex: implement GaussCubatureIntegration in the most memory-friendly way 689d253ae7e2a22242258fd5bef0a069caf7cf75 I am 2023-02-11 04:31:11
convex_hull.QHullCubature: implement memory-friendly outside (chi) integration ad8210a04b1e0903de7435cad16b1304707d0e6e I am 2023-02-09 22:22:05
qt_gui.qt_plot: require box recommendation to show next point 6f726047f7f08e884359020eaa1eac6f6cc125d2 I am 2023-02-09 11:51:44
dicebox.circumtri.CirQTri.get_circum_node: limit circumcenter by explore radius, not by just R 136ec73bb06da16c1f2bce64b3c349be4c8ba975 I am 2023-02-09 03:09:51
dicebox.circumtri: implement new brand CirQTri box 5879b8ad6317c65aa9481b59f76b6159f19e247a I am 2023-02-09 01:29:10
Commit 4088852e703947643a8388b2ba8839a694211566 - simplex._Sense: implement piece of postprocessing to get unique vectors
Author: I am
Author date (UTC): 2023-03-10 17:22
Committer name: I am
Committer date (UTC): 2023-03-10 17:22
Parent(s): 1c9346233693533afb07022c78308b3be6ea9ec7
Signer:
Signing key:
Signing status: N
Tree: f09bcb174c22c7f3b939213fc2f1a431dbec7947
File Lines added Lines deleted
wellmet/qt_gui/qt_plot.py 1 1
wellmet/simplex.py 30 11
File wellmet/qt_gui/qt_plot.py changed (mode: 100644) (index 58eceea..84482d8)
... ... class Arrows:
446 446 return return
447 447
448 448 result = self.w.sample_box.Tri.perform_sensitivity_analysis() result = self.w.sample_box.Tri.perform_sensitivity_analysis()
449 _gradient, sensitivity, probabilities, depths, vectors, coverings = result
450 449
450 vectors = result.vectors
451 451
452 452 nmixed = len(vectors) nmixed = len(vectors)
453 453 points = self.w.sample_box.Tri.tri.points points = self.w.sample_box.Tri.tri.points
File wellmet/simplex.py changed (mode: 100644) (index 98c4403..3cb6cd0)
... ... from scipy import optimize
13 13
14 14 import quadpy import quadpy
15 15
16 from typing import NamedTuple
16 17 from collections import namedtuple, defaultdict from collections import namedtuple, defaultdict
17 18 from sortedcollections import ValueSortedDict from sortedcollections import ValueSortedDict
18 19
19 20
20 21
22
21 23 #č napadlo mě zababáchnuť třidu, která by se sama starala o všem co se tyče #č napadlo mě zababáchnuť třidu, která by se sama starala o všem co se tyče
22 24 #č vnější domény. Nešlo mě totíž to udělat jednou funkcí, bylo by velmi #č vnější domény. Nešlo mě totíž to udělat jednou funkcí, bylo by velmi
23 25 #č špatné z hlediska zodpovednosti kódu. Tak to všecko zabalíme to třidy #č špatné z hlediska zodpovednosti kódu. Tak to všecko zabalíme to třidy
 
... ... class _NaiveSense:
538 540
539 541
540 542
541
542
543
544 FinalizedAxis = namedtuple('FinalizedAxis', (
545 'normal',
546 #'sensitivities',
547 'separated_simplices'
548 ))
549
543 class FinalizedAxis(NamedTuple):
544 normal: np.ndarray
545 separated_simplices: set
546
547 class SensitivityResult(NamedTuple):
548 global_gradient: np.ndarray
549 sensitivities: np.ndarray
550 probabilities: dict
551 depths: dict
552 vectors:dict
553 coverings:dict
554 unique_id_vectors: dict
555 unique_set_vectors: dict
550 556
551 557
552 558 class _Sense: class _Sense:
 
... ... class _Sense:
686 692
687 693 sensitivities /= mixed_probability sensitivities /= mixed_probability
688 694
689 return global_gradient, sensitivities, \
690 probabilities, depths, vectors , coverings
695 # piece of postprocesing
696
697 unique_id_vectors = {}
698 for normal in vectors.values():
699 unique_id_vectors[id(normal)] = normal
700
701 unique_set_vectors = {}
702 #č id neposkytují záruku unikatnosti
703 #č ještě musíme přímo kontrolovat množiny separovaných simplexů
704 for normal in unique_id_vectors.values():
705 unique_set_vectors[normal.separated_simplices] = normal.normal
706
707 return SensitivityResult(global_gradient, sensitivities,
708 probabilities, depths, vectors , coverings,
709 unique_id_vectors, unique_set_vectors)
691 710
692 711
693 712
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