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
commit:2015:11_18 [2015/11/18 19:05] – [Erreur d'intégration temporelle] wauteletcommit:2015:11_18 [2016/03/30 15:23] (current) – external edit 127.0.0.1
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.1447869905.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki