Table of Contents

Commit 2016-10-11

Amélioration super éléments

Super Elements

Simplification de la syntaxe :

(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'])    

Extracteurs dans les SE :

    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')
Exemple :

Ajout de l'amortissement dans les SuperElements :

$$\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

Attention, la construction de la matrice d'amortissement modale doit encore être confirmée via développements ou référence. Ca me semble correct % à ce que j'ai rapidement vu, mais demande vérification!!!

Test DampK = 1.0e-6

Test DampM = 1.0e3

Test DampPhi = 0.05 (pas d'amortissement modal en FEM)

Test DampPhi = 0.005 (pas d'amortissement modal en FEM)

Testing :

mtWear

Nettoyage de forme

Divers

Matlab

Fichiers ajoutés/supprimés

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  

Tests ajoutés/supprimés

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