Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2015:11_18

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
commit:2015:11_18 [2015/11/18 19:05] – [Erreur d'intégration temporelle] wauteletcommit:2015:11_18 [2015/11/19 18:04] wautelet
Line 25: Line 25:
 </code> </code>
  
-Si les itérations NR ne convergent pas ou si il y a un jacobien négatif, nous avons l'arrêt de l'intégration temporelle à ce step là !+**Remarques importantes :**  
 +  * Si les itérations de la procédure de Newton Raphson ne convergent pas ou si il y a un jacobien négatif, nous avons l'arrêt de l'intégration temporelle au pas de temps donné ! 
 +  * Cette méthode peut être utilisée avec tous les types de schéma d'intégration de Metafor.  
 +  * On peut préciser un pas de temps initial et un pas de temps maximal différent pour la branche d'intégration temporelle entre t0 et t1. 
  
-On peut préciser un pas de temps initial et un pas de temps maximal différent pour la branche d'intégration temporelle entre t0 et t1.  
  
-Il peut être utiliser avec tous les types de schéma d'intégration de Metafor.  
  
 ==== Pas de temps critique ==== ==== Pas de temps critique ====
Line 47: Line 48:
  
 Il est possible de faire l'intégration temporelle avec pas de temps déterminé à partir du nombre d'itérations de la procédure itérative de Newton Raphson.  Il est possible de faire l'intégration temporelle avec pas de temps déterminé à partir du nombre d'itérations de la procédure itérative de Newton Raphson. 
 +
 +Le pas de temps est mis à jour sur base d'un nombre d'itérations optimal. Si le nombre d'itérations dépasse cette valeur, le pas de temps de diminué. Dans le cas contraire, le pas de temps est augmenté.
 +
 +Voici une représentation schématique des deux algorithmes disponibles :
 +<WRAP group>
 +<WRAP centeralign half column>
 +1er cas :
 +{{:commit:2015:timestepratiovsnumberofiterationsfirstalgogeneral.png?400|}}
 +</WRAP>
 +<WRAP centeralign half column>
 +2ième cas :
 +{{:commit:2015:timestepratiovsnumberofiterationssecondalgogeneral.png?400|}}
 +</WRAP>
 +</WRAP>
 +
 +Voici deux exemples :
 +
 +<WRAP group>
 +<WRAP centeralign half column>
 +1er cas :
 +{{:commit:2015:timestepratiovsnumberofiterationsfirstalgo.png?400 |}}
 +Le nombre maximum d'itération est de 7 et le nombre optimum d'itération est de 4.
 +</WRAP>
 +<WRAP centeralign half column>
 +2ième cas :
 +{{:commit:2015:timestepratiovsnumberofiterationssecondalgo.png?400 |}}
 +Le nombre maximum d'itération est de 10 et le nombre optimum d'itération est de 4, ainsi que le nombre d'itération pour adapter le pas de temps est de 6.
 +</WRAP>
 +</WRAP>
 +
  
 On distincte les différents cas suivants :  On distincte les différents cas suivants : 
  
 === Schéma d'intégration mécanique === === Schéma d'intégration mécanique ===
 +
 +Le nombre d'itérations correspond au nombre d'itérations mécaniques :
 +
 <code> <code>
-tscm = CriticalTimeStepComputationMethod(metafor) +tscm = NbOfMechNRIterationsTimeStepComputationMethod(metafor) 
-tscm.setExplicitTimeStepSecurity(_explicitTimeStepSecurity+tscm.setTimeStepDivisionFactor(_timeStepDivisionFactor
-tscm.setNbOfStepsForCriticalTimeStepUpdate(_nbOfStepsForCriticalTimeStepUpdate)+tscm.setMinimumTimeStep(_minimumTimeStep) 
 +tscm.setMaxNbOfIteInAdaptOfTimeStep(_maxNbOfIteInAdaptOfTimeStep) 
 +tscm.setNbOptiIte(_nbOptiIte)
 tsm.setTimeStepComputationMethod(tscm) tsm.setTimeStepComputationMethod(tscm)
 </code> </code>
 +
 === Schéma d'intégration thermo-mécanique étagé === === Schéma d'intégration thermo-mécanique étagé ===
 +
 +Le nombre d'itérations correspond au maximum entre les nombres d'itérations mécaniques et thermiques  :
 +
 <code> <code>
-tscm = CriticalTimeStepComputationMethod(metafor) +tscm = NbOfStaggeredTmNRIterationsTimeStepComputationMethod(metafor) 
-tscm.setExplicitTimeStepSecurity(_explicitTimeStepSecurity+tscm.setTimeStepDivisionFactor(_timeStepDivisionFactor
-tscm.setNbOfStepsForCriticalTimeStepUpdate(_nbOfStepsForCriticalTimeStepUpdate)+tscm.setMinimumTimeStep(_minimumTimeStep) 
 +tscm.setMaxNbOfIteInAdaptOfTimeStep(_maxNbOfIteInAdaptOfTimeStep) 
 +tscm.setNbOptiIte(_nbOptiIte)
 tsm.setTimeStepComputationMethod(tscm) tsm.setTimeStepComputationMethod(tscm)
 </code> </code>
 +
 === Schéma d'intégration thermo-mécanique couplé === === Schéma d'intégration thermo-mécanique couplé ===
 +
 +Le nombre d'itérations correspond au nombre d'itérations thermomécaniques  :
 +
 <code> <code>
-tscm = CriticalTimeStepComputationMethod(metafor) +tscm = NbOfCoupledTmNRIterationsTimeStepComputationMethod(metafor) 
-tscm.setExplicitTimeStepSecurity(_explicitTimeStepSecurity+tscm.setTimeStepDivisionFactor(_timeStepDivisionFactor
-tscm.setNbOfStepsForCriticalTimeStepUpdate(_nbOfStepsForCriticalTimeStepUpdate)+tscm.setMinimumTimeStep(_minimumTimeStep) 
 +tscm.setMaxNbOfIteInAdaptOfTimeStep(_maxNbOfIteInAdaptOfTimeStep) 
 +tscm.setNbOptiIte(_nbOptiIte)
 tsm.setTimeStepComputationMethod(tscm) tsm.setTimeStepComputationMethod(tscm)
 </code> </code>
 +
 === Schéma d'intégration mécanique avec Lagrangien Augmenté === === Schéma d'intégration mécanique avec Lagrangien Augmenté ===
 +
 +Le nombre d'itérations correspond au nombre d'itérations mécaniques à l'augmentation n°0 :
 +
 <code> <code>
-tscm = CriticalTimeStepComputationMethod(metafor) +tscm = NbOfAugLagMechNRIterationsTimeStepComputationMethod(metafor) 
-tscm.setExplicitTimeStepSecurity(_explicitTimeStepSecurity+tscm.setTimeStepDivisionFactor(_timeStepDivisionFactor
-tscm.setNbOfStepsForCriticalTimeStepUpdate(_nbOfStepsForCriticalTimeStepUpdate)+tscm.setMinimumTimeStep(_minimumTimeStep) 
 +tscm.setMaxNbOfIteInAdaptOfTimeStep(_maxNbOfIteInAdaptOfTimeStep) 
 +tscm.setNbOptiIte(_nbOptiIte)
 tsm.setTimeStepComputationMethod(tscm) tsm.setTimeStepComputationMethod(tscm)
 </code> </code>
Line 124: Line 178:
 tsm.setTimeStepComputationMethod(tscm) tsm.setTimeStepComputationMethod(tscm)
 </code> </code>
- 
-^      Paramètre        ^  Défaut ^        Description  ^                                     
-| ''timeStepDivisionFactor''  | 3.0 | Facteur de division du pas de temps en cas de problème durant la résolution du step   |   
-| ''minimumTimeStep''  | 1.0E-10 | Pas de temps en dessous duquel on arrête l'intégration temporelle  |   
-| ''initialIntegrationErrorTolerance''  | 1.0E-4 | Erreur normalisée d'intégration temporelle initiale  |   
-| ''initialExplicitTimeStepSecurity''  | 2.0/3.0 | Facteur de sécurité initial du pas de temps critique | 
-| ''nbOfStepsForCriticalTimeStepUpdate''  | 1 | Nombre de pas de temps entre chaque mise à jour du pas de temps critique | 
  
 **Remarques importantes :**  **Remarques importantes :** 
Line 137: Line 184:
   * Si il y a un jacobien négatif durant un pas de temps, nous avons l'arrêt de l'intégration temporelle à ce pas de temps là dans le cas du schéma d'intégration explicite !    * Si il y a un jacobien négatif durant un pas de temps, nous avons l'arrêt de l'intégration temporelle à ce pas de temps là dans le cas du schéma d'intégration explicite ! 
  
 +==== Paramètres ====
 +
 +^      Paramètre        ^  Défaut ^        Description 
 +| ''maxNbOfIteInAdaptOfTimeStep''  | 0 | Nombre d'itérations maximales pour faire diminuer le pas de temps si le nombre d'itérations est supérieur au nombre d'itérations optimales | 
 +| ''nbOptiIte''  | 4  | Nombre d'itérations optimales |                                    
 +| ''timeStepDivisionFactor''  | 3.0 | Facteur de division du pas de temps en cas de problème durant la résolution du step   |  
 +| ''minimumTimeStep''  | 1.0E-10 | Pas de temps en dessous duquel on arrête l'intégration temporelle  |  
 +| ''initialIntegrationErrorTolerance''  | 1.0E-4 | Erreur normalisée d'intégration temporelle initiale  |  
 +| ''initialExplicitTimeStepSecurity''  | 2.0/3.0 | Facteur de sécurité initial du pas de temps critique |
 +| ''nbOfStepsForCriticalTimeStepUpdate''  | 1 | Nombre de pas de temps entre chaque mise à jour du pas de temps critique |
  
 +==== Méthode par défaut de chaque schéma d'intégration ====
 +^      Intégration temporelle        ^  Défaut ^                                   
 +| ''Quasi-statique Mechanical Time Integration''  | "NbOfMechNRIterationsTimeStepComputationMethod" |
 +| ''Implicit Mechanical Time Integration''  | "NbOfMechNRIterationsTimeStepComputationMethod" |
 +| ''Explicit Mechanical Time Integration''  | "CriticalTimeStepComputationMethod"
 +| ''Combined Implicit/Explicit Mechanical Time Integration''  | "IeIntegrationErrorTimeStepComputationMethod"
 +| ''Coupled ThermoMechanical Time Integration''  | "NbOfCoupledTmNRIterationsTimeStepComputationMethod" |
 +| ''Staggered ThermoMechanical Time Integration''  | "NbOfStaggeredTmNRIterationsTimeStepComputationMethod" |
  
 ===== Divers =====  ===== Divers ===== 
commit/2015/11_18.txt · Last modified: 2016/03/30 15:23 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki