Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:integration:scheme:dynimpl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:user:integration:scheme:dynimpl [2015/10/09 16:48] – [Data set] wauteletdoc:user:integration:scheme:dynimpl [2017/06/16 10:27] papeleux
Line 71: Line 71:
    
  
 +==== Damped Alpha-Generalized family ==== 
 +Adding damping forces to the Alpha-Generalized time integration scheme family allow user to dissipate energy in a regulated way. According to the reference below, damping forces can be balanced between previous and current time as others (internal or external) forces through $\alpha_F$ parameter. The global system is then written by :
 +
 +$$(1-\alpha_M) \boldsymbol{F}^{\text{inert}}(t^{n+1}) + \alpha_M \boldsymbol{F}^{\text{inert}}(t^n) + (1-\alpha_F) \boldsymbol{F}^{\text{damp}}(t^{n+1}) + \alpha_F \boldsymbol{F}^{\text{damp}}(t^n)$$
 +$$+ (1-\alpha_F) \boldsymbol{F}^{\text{int}}(t^{n+1}) + \alpha_F \boldsymbol{F}^{\text{int}}(t^n)
 + = (1-\alpha_F) \boldsymbol{F}^{\text{ext}}(t^{n+1}) + \alpha_F \boldsymbol{F}^{\text{ext}}(t^n)$$
 +
 +where the damping forces are computed proportional to velocities :
 +$$ \boldsymbol{F}^{\text{damp}} = \boldsymbol{C} * v $$
 +
 +According to ref2 (chapter 3), an easy way to build a diagonal damping matrix is to compute a ponderated sum of the mass and stiffness matrices :
 +$$\boldsymbol{C} =  a_m \boldsymbol{M} + a_k \boldsymbol{K}$$
 +
 +The modal damping factor corresponding to each eigen pulsation $\omega_{0r} = 2 \pi \phi$:
 +$$\epsilon_r=\frac{1}{2}(a_k \omega_{0r} + \frac{a_m}{\omega_{0r}} )$$
 +
 +telling us that the mass damping factor $a_m$ will induice damping on lowest eigen frequencies and that the stiff damping factor $a_k$ will induce damping on the higher eigen frequencies.
 +
 +<code>
 +ref 1 : "The analysis of the Generalized-$\alpha$ method for non linear dynamic problems" -
 +        S.Erlicher, L.Bonaventura, O.S.Bursi -  Computanional Mechanics 28 (2002) 83-104
 +ref 2 : "Théorie des vibrations - Application à la dynamique des structures" -
 +         M.Géradin, D.Rixen - Editions Masson
 +</code>
 +=== Parameters to the scheme === 
 +  * Name of the scheme : ''DampedAlphaGeneralizedTimeIntegration''
 +  * Parameters : 
 +    * AlphaGeneralizedTimeIntegration parameters has to be defined as usual
 +    * update of the damping matrix managed through ''ti.setDampingMatrixUpdate(DMUxxx)''
 +      * DMUINIT : Damping matrix computed on initial configuration only
 +      * DMUPERSTAGE : Damping matrix computed at each stage change
 +      * DMUPERSTEP : Damping matrix computed at the beginning of each time step (base on previous equilibrated solution to avoid need of stiffness computation)
 +    * Mass Damping Factor and Stiffness Damping Factor are defined though the [[doc:user:elements:volumes:volumeelement?&#parameters|element properties]] (''DAMPSTIFF'',''DAMPMASS''). Parameters can depend of time.
 +        
 ==== Generalized Midpoint Rule ====  ==== Generalized Midpoint Rule ==== 
  
-The equilibrium computed for a time defined by the parameter $\theta$ (''MDR_THEM'') (see [[doc:user:integration:general:parameters]]):+The equilibrium is computed for a time defined by the parameter $\theta$ (''MDR_THEM'') (see [[doc:user:integration:general:parameters]]):
  
 $$\boldsymbol{F}^{\text{inert}}(t^{n+\theta}) + \boldsymbol{F}^{\text{int}}(t^{n+\theta})= \boldsymbol{F}^{\text{ext}}(t^{n+\theta})$$ $$\boldsymbol{F}^{\text{inert}}(t^{n+\theta}) + \boldsymbol{F}^{\text{int}}(t^{n+\theta})= \boldsymbol{F}^{\text{ext}}(t^{n+\theta})$$
Line 119: Line 153:
 === Management of conservative algorithm === === Management of conservative algorithm ===
  
-Parameters are set using functions associated to ''metafor.getConsistentAlgorithmFunctions()''. +It is **mandatory** to instanciate the ConsistentAlgorithmFunctions and then the parameters can adjusted if required : 
 +<code>
     caf = ConsistentAlgorithmFunctions(metafor)     caf = ConsistentAlgorithmFunctions(metafor)
     caf.setDissipationParameter(diss)     caf.setDissipationParameter(diss)
     caf.setConservingContactMethod(consContactMeth)     caf.setConservingContactMethod(consContactMeth)
 +</code>
 where where
  
Line 150: Line 184:
 ===== Data set ===== ===== Data set =====
  
-=== Defining material density ===+==== Defining material density ====
  
 For the domain ''domain'', material number ''no'' and mass ''mass'' For the domain ''domain'', material number ''no'' and mass ''mass''
Line 156: Line 190:
   matset[no].put(MASS_DENSITY, mass)   matset[no].put(MASS_DENSITY, mass)
  
-=== Defining initial velocites ===+==== Defining initial velocites ====
  
   metafor.getInitialConditionSet().define(numero, entite, lock, ampl)   metafor.getInitialConditionSet().define(numero, entite, lock, ampl)
  
-=== Choosing the algorithm ===+==== Choosing the algorithm ====
  
-Old Metafor Version <= 2422+=== Old Metafor Version <= 2422 ===
  
 ^          Scheme          ''MDE_NDYN''  ^  ''MDR_ALPM''  ^  ''MDR_ALPF''  ^  ''MDR_BET0''  ^  ''MDR_GAM0''  ^  ''MDR_THEM''  ^   ''CONSERVINGMETHOD''  ^  Dissipation  ^ ^          Scheme          ''MDE_NDYN''  ^  ''MDR_ALPM''  ^  ''MDR_ALPF''  ^  ''MDR_BET0''  ^  ''MDR_GAM0''  ^  ''MDR_THEM''  ^   ''CONSERVINGMETHOD''  ^  Dissipation  ^
Line 173: Line 207:
 (see [[doc:user:integration:general:parameters]]) (see [[doc:user:integration:general:parameters]])
  
-==== New Metafor Version > 2422 ====+=== New Metafor Version > 2422 ===
  
-=== Central Difference ===+== Consistent Time Integration (EMCA or EDMC) ==
  
 <code> <code>
-ti = CentralDifferenceTimeIntegration(metafor)+ti = ConsistentTimeIntegration(metafor)
 metafor.setTimeIntegration(ti) metafor.setTimeIntegration(ti)
 </code> </code>
  
-=== Chung Hulbert ===+== Generalized Midpoint Rule ==
  
 <code> <code>
-ti = ChExplicitTimeIntegration(metafor) +ti = MpgTimeIntegration(metafor) 
-ti.setRhoB(_rhoB)+ti.setTheta(_theta)
 metafor.setTimeIntegration(ti) metafor.setTimeIntegration(ti)
 </code> </code>
  
-The parameter "_rhoB" is the spectral radius at bifurcation point ([0, 1]). The default value is 0.8182.+The parameter "_theta" is defined above. The default value is 1.1.
  
-=== Tchamwa === +== Alpha Generalized Family == 
  
 <code> <code>
-ti = TchamwaTimeIntegration(metafor) +ti = AlphaGeneralizedTimeIntegration(metafor) 
-ti.setRhoB(_rhoB)+ti.setAlphaM(_AlphaM) 
 +ti.setAlphaF(_AlphaF) 
 +ti.setBeta0(_Beta0) 
 +ti.setGamma0(_Gamma0)
 metafor.setTimeIntegration(ti) metafor.setTimeIntegration(ti)
 </code> </code>
  
-The parameter "_rhoBis the spectral radius at bifurcation point ([01]). The default value is 0.8182.+The parameters "_AlphaM", "_AlphaF",  "_Beta0" and "_Gamma0" are defined above. The default values are -0.97, 0.01, 0.25 and 0.5 respectively.
  
 Useful parameters : see [[quasistatique|quasi-statique]]. Useful parameters : see [[quasistatique|quasi-statique]].
doc/user/integration/scheme/dynimpl.txt · Last modified: 2017/06/16 10:28 by papeleux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki