Amélioration super éléments
SuperElementImporter
) se fait au travers la fonction getSuperElementImporter
définie dans le module “mtSuperElement.tools.utilities”getSuperElementImporter
SuperElementImporter
sait désormais quel type de Super-Elément a été généré (G/CB), le nombre de modes, et la fonction buildInteraction()
permet la génération de l'interaction et du propElem(ces 2 objets restant accessibles (pour ajouter de l'amortissement dans le propelem ou utiliser l'interaction dans un extractor)
sei = getSuperElementImporter(p['SENo'], domain, p['WDirCreate'], p['SEShiftIndex']) sei.buildInteraction() sei.importAllGroups() if p['dampTI'] == True: sei.SEPrp.put(DAMPSTIFF, p['dampK']) sei.SEPrp.put(DAMPMASS, p['dampM']) sei.SEPrp.put(DAMPMODAL, p['dampMod'])
DbGeoPointValueExtractor
permettant d'extraire le déplacement d'un point quelquonque (pour un noeud non retenu, existait déjà le DbNodalValueExtractor
). SEBuilder.addValueExtractor( 1, DbNodalValueExtractor(groupset(p['index']+4), Field1D(TX, RE))) SEBuilder.addValueExtractor(11, DbGeoPointValueExtractor([pointset(p['index']+11),], geometry.getMesh(), Field1D(TX, RE)))
valuesmanager.add(121, SuperElementValueExtractor(sei.SEInteraction, 1), 'dxJaugeUpSE') valuesmanager.add(131, SuperElementValueExtractor(sei.SEInteraction, 11), 'dxJaugeUpGeoPtSE') valuesmanager.add(201, ModalAmplitudeCBSEValueExtractor(sei.SEInteraction, 0, sei.getNbModes()), 'modesAmpl')
SEBuilder.addValueExtractor(31, StrainGaugeValueExtractor([pointset(p['index']+11), pointset(p['index']+14)], geometry.getMesh()))
valuesmanager.add(151, StrainGaugeSuperElementValueExtractor(sei.SEInteraction, 31, pointset(p['index']+11), pointset(p['index']+14)), 'sgLongSE')
valuesmanager.add(161, EnergySEValueExtractor(sei.SEInteraction, THERMODYN_EN_CIN), 'kineticEnergySE') valuesmanager.add(162, EnergySEValueExtractor(sei.SEInteraction, THERMODYN_POT_INT), 'PotentialEnergySE') valuesmanager.add(163, EnergySEValueExtractor(sei.SEInteraction, THERMODYN_TRAV_FINT), 'fintWorkSE') valuesmanager.add(164, EnergySEValueExtractor(sei.SEInteraction, THERMODYN_TRAV_FEXT), 'fextWorkSE') valuesmanager.add(165, EnergySEValueExtractor(sei.SEInteraction, THERMODYN_TRAV_FDAMP), 'fdampWorkSE')
DampedAlphaGeneralizedTimeIntegration
$$\boldsymbol{C} = a_m \boldsymbol{M} + a_k \boldsymbol{K}$$
$$ \begin{align} \boldsymbol{C}_{ii} &= 2 a_{\phi} \boldsymbol{M}_{ii} \omega_{i} \\ &= 2 a_{\phi} \sqrt{ \boldsymbol{K}_{ii}} \end{align} $$ étant donné $$\boldsymbol{M}_{ii} = 1 $$ (normalisation des modes propres % M) et $$\omega_{i} = \sqrt{ \boldsymbol{K}_{ii}}$$ par construction du SE
VirtualObject
(pour comptage correcte des leaks) des classes : WearCell
WearData
WearPoint
WearTool
RefCounted()
, VirtualObject()
, WithDrawable()
)addWith(Matrix &A, int x1=1, int y1=1, int x2=0, int y2=0);
addWith(SymMatrix &A, int x1=1, int y1=1, int x2=0, int y2=0);
mtMath::Vector
: mtMath::Vector interpolate(const std::vector<mtMath::Vector> &nodalValues) const;
PythonObjectiveFunction
pour permettre le nettoyage memoire (-99% des memsLeaks)Adding: oo_meta\mtSuperElement\src\EnergySEValueExtractor.h/cpp Adding: oo_meta\mtSuperElement\src\ModalAmplitudeCBSEValueExtractor.h/cpp Adding: oo_meta\mtSuperElement\src\StrainGaugeSuperElementValueExtractor.h/cpp Adding: oo_meta\mtSuperElement\src\SuperElementBuilderObjectiveFunction.h/cpp Deleting: oo_meta\mtFEM\extractors\GeoPtValueExtractor.h/cpp
Adding: oo_meta\mtSuperElement\tests\Beam3DYComp_1.py Adding: oo_meta\mtSuperElement\tests\Beam3DYComp_2.py Adding: oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DEas20000RpmGuyan_1.py Adding: oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DEas20000RpmGuyan_2.py Adding: oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DEas20000RpmGuyanSymK_1.py Adding: oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DEas20000RpmGuyanSymK_2.py Adding: oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DSri20000RpmGuyan_1.py Adding: oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DSri20000RpmGuyan_2.py Adding: oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DSriPr20000RpmGuyan_1.py Adding: oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DSriPr20000RpmGuyan_2.py Adding: oo_meta\mtSuperElement\tests\damping Adding: oo_meta\mtSuperElement\tests\damping\__init__.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEAS_1.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEAS_2.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEAS_3.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEAS_4.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEAS_5.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEAS_6.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEASGuyan_1.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEASGuyan_2.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEASGuyan_3.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEASGuyan_4.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEASGuyan_5.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DEASGuyan_6.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DSRIPR_1.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DSRIPR_2.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DSRIPR_3.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DSRIPR_4.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DSRIPR_5.py Adding: oo_meta\mtSuperElement\tests\damping\beamX2DSRIPR_6.py Adding: oo_meta\mtSuperElement\tests\damping\beamX3DEAS_1.py Adding: oo_meta\mtSuperElement\tests\damping\beamX3DEAS_2.py Adding: oo_meta\mtSuperElement\tests\damping\beamX3DEAS_3.py Adding: oo_meta\mtSuperElement\tests\damping\beamX3DEAS_4.py Adding: oo_meta\mtSuperElement\tests\damping\beamX3DEAS_5.py Adding: oo_meta\mtSuperElement\tests\damping\beamX3DEAS_6.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DEAS_1.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DEAS_2.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DEAS_3.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DEAS_4.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DEAS_5.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DEAS_6.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DTRI_1.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DTRI_2.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DTRI_3.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DTRI_4.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DTRI_5.py Adding: oo_meta\mtSuperElement\tests\damping\beamY2DTRI_6.py Adding: oo_meta\mtSuperElement\tests\damping\beamY3DEAS_1.py Adding: oo_meta\mtSuperElement\tests\damping\beamY3DEAS_2.py Adding: oo_meta\mtSuperElement\tests\damping\beamY3DEAS_3.py Adding: oo_meta\mtSuperElement\tests\damping\beamY3DEAS_4.py Adding: oo_meta\mtSuperElement\tests\damping\beamY3DEAS_5.py Adding: oo_meta\mtSuperElement\tests\damping\beamY3DEAS_6.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DEAS_1.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DEAS_2.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DEAS_3.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DEAS_4.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DEAS_5.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DEAS_6.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DTetra_1.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DTetra_2.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DTetra_3.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DTetra_4.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DTetra_5.py Adding: oo_meta\mtSuperElement\tests\damping\beamZ3DTetra_6.py Adding: oo_meta\mtSuperElement\tests\sticking Adding: oo_meta\mtSuperElement\tests\sticking\__init__.py Adding: oo_meta\mtSuperElement\tests\sticking\stick3dCentrLoad_1.py Adding: oo_meta\mtSuperElement\tests\sticking\stick3dCentrLoad_2.py Adding: oo_meta\mtSuperElement\tests\sticking\stick3dCentrLoad_3.py Adding: oo_meta\mtSuperElement\tests\tools\canteliver2DCompVibr.py Adding: oo_meta\mtSuperElement\tests\tools\canteliver2DCreate.py Adding: oo_meta\mtSuperElement\tests\tools\canteliver3DCompVibr.py Adding: oo_meta\mtSuperElement\tests\tools\canteliver3DCreate.py Deleting: oo_meta\mtSuperElement\tests\defoCentrCBSESRIPR_1.py Deleting: oo_meta\mtSuperElement\tests\defoCentrCBSESRIPR_2.py Deleting: oo_meta\mtSuperElement\tests\defoCentrGSESRIPR_1.py Deleting: oo_meta\mtSuperElement\tests\defoCentrGSESRIPR_2.py Deleting: oo_nda\abrawal\banc18ER\tools\banc18ER_1.py Deleting: oo_nda\abrawal\banc18ER\tools\banc18ER_2.py Deleting: oo_nda\abrawal\banc18ER\tools\bladeCentrifugeLoad_1.py Deleting: oo_nda\abrawal\banc18ER\tools\bladeCentrifugeLoad_2.py Deleting: oo_nda\abrawal\banc18ER\tools\superElementNew.py
— Luc Papeleux 2016/10/11