Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:integration:general:mim_tim

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
doc:user:integration:general:mim_tim [2013/07/12 15:28] jorisdoc:user:integration:general:mim_tim [2024/03/11 19:04] (current) papeleux
Line 1: Line 1:
-====== Gestion des itérations (mécaniques et thermiques) ======+====== Managing N.-R. Iterations ======
  
-Les paramètres des itérations mécaniques sont imposés par des fonctions relatives à ''metafor.getMechanicalIterationManager()'', alors que les paramètres des itérations thermiques sont imposés par des fonctions relatives à ''metafor.getThermalIterationManager()''.+Mechanical iterations parameters are imposed by functions associated to ''metafor.getMechanicalIterationManager()'', when thermal iterations parameters are imposed by functions associated to  ''metafor.getThermalIterationManager()''.
  
     mim = metafor.getMechanicalIterationManager()      mim = metafor.getMechanicalIterationManager() 
Line 15: Line 15:
     mim/tim.setLineSearchTolerance2(lsp2)     mim/tim.setLineSearchTolerance2(lsp2)
     mim.setPredictorComputationMethod(predMeth)     mim.setPredictorComputationMethod(predMeth)
 +    mim.setConstrainedDofsVAComputationMethod(VACMeth)
 +    mim/tim.setPreviousResidualsDecreaseCriterion()
 +    mim/tim.setCpuDependency(cpuDep)
 +    mim/tim.setForceOneIte(bool)  
 +where ''meth'' defines the method used to compute the $Residual$.
  
-où ''meth'' défini la méthode de calcul du $Residu$.+=== Method1ResidualComputation(limitNormFactor) === 
 +<note important>important : since revision 2946 Method1ResidualComputation is **not anymore** the default value</note>
  
-=== Method1RedisualComputation(limitNormFactor) === +The residual is adimensionalized by the norm of external forces and internal reactions . 
-Le résidu est adimensionalisé à partir de la norme des forces externes et des réactions internes (**valeur par défaut**)On commence par évaluer+First :
  
-$$Rmoy = \frac{||FreeExternalForces|| + ||CstrInternalForces||+||CstrInertialForces||}{nreac}  $$+$$Rmin = \frac{||FreeExternalForces|| + ||CstrInternalForces||+||CstrInertialForces||}{nreac}  $$
  
-Ensuite, si  +If  
-$$ Rmoy limitNormFactor $$ +$$ Rmin < limitNormFactor $$
-on impose  +
-$$ Rmoy = limitNormFactor $$+
  
-Le résidu est alors adimensionnalisé via+$Rmin$ is set to 
 +$$ Rmin = limitNormFactor $$
  
-$$Residu = \frac{||FreeResidual||}{nddls*Rmoy}$$+and the residual is adimensionalized :
  
-avec+$$Residual = \frac{||FreeResidual||}{ndofs*Rmin}$$
  
-$nddls$ : nombre de degrés de liberté total+where
  
-$nreac$ : nombre de degrés de liberté fixés (et ayant donc une force de réaction)+$ndofs$ : total number of degrees of freedom 
 + 
 +$nreac$ : number of fixed degrees of freedom (having an associated reaction)
  
 === Method2ResidualComputation(limitNormFactor) === === Method2ResidualComputation(limitNormFactor) ===
  
-Le résidu est adimensionalisé à partir du carré des normes des forces externes et des réactions internesOn commence par évaluer+The residual is adimensionalized by the square of the norm of external forces and internal reactionsFirst:
  
-$$Rmoy = \frac{\sqrt{||FreeExternalForces||^2 + ||CstrInternalForces||^2+||CstrInertialForces||^2}}{nreac}$$+$$Rmin = \frac{\sqrt{||FreeExternalForces||^2 + ||CstrInternalForces||^2+||CstrInertialForces||^2}}{nreac}$$
  
-Ensuite, si  +If 
-$$ Rmoy < limitNormFactor $$ +$$ Rmin < limitNormFactor $$ 
-on impose  +then  
-$$ Rmoy = limitNormFactor $$+$$ Rmin = limitNormFactor $$
  
-Le résidu est alors adimensionnalisé via+and the residual is adimensionalized :
  
-$$Residu = \frac{||FreeResidual||}{nddls*Rmoy}$$ +$$Residual = \frac{||FreeResidual||}{ndofs*Rmin}$$
-avec+
  
-$nddls$ : nombre de degrés de liberté total+where
  
-$nreac$ : nombre de degrés de liberté fixés (et ayant donc une force de réaction)+$ndofs$ : total number of degrees of freedom 
 + 
 +$nreac$ : number of fixed degrees of freedom (having an associated reaction)
  
 === Method3ResidualComputation(limitNormFactor) === === Method3ResidualComputation(limitNormFactor) ===
  
-Le résidu est adimensionalisé à partir de la norme des forces externesd'inertie et des réactions internes (**valeur à utiliser de préférence pour le thermiqueAttention... c'est à l'utilisateur de le définir ...**). Si on a +The residual is adimensionalized by the norm of external and inertial forces, and internal reactions (**value to use preferentially for thermal simulationsCarefulthe user must define it**).  
 + 
 +If 
 $$ ||FreeExternalForces|| < limitNormFactor $$ $$ ||FreeExternalForces|| < limitNormFactor $$
-alors le résidu vaut +then  
-$$ Residu = max(|FreeResidual|) $$ +$$ Residual = max(|FreeResidual|) $$ 
-Sinonon évalue +Else
-$$Rmoy = ||FreeExternalForces|| + ||CstrInternalForces||+||CstrInertialForces|| $$ +$$Rmin = ||FreeExternalForces|| + ||CstrInternalForces||+||CstrInertialForces|| $$ 
-et le résidu est adimensionnalisé selon +and 
-$$Residu = \frac{||FreeResidual||}{nddls*Rmoy}$$+$$Residual = \frac{||FreeResidual||}{ndofs*Rmin}$$
  
-=== Method4ResidualComputation(limitNormFactor) ===+=== Method4ResidualComputation(limitNormFactor) (**default value**) === 
 +<note important>important : since revision 2946 Method4ResidualComputation is the new **default value**</note> 
 +This method is the same as ''Method1ResidualComputation()'' but without dividing by the number of dofs nor nreac, so
  
-Cette méthode correspond à ''Method1ResidualComputation()'' sans diviser par le nombre de dofs, donc+$$Rmin = ||FreeExternalForces|| + ||CstrInternalForces||+||CstrInertialForces|| $$
  
-$$Rmoy ||FreeExternalForces|| + ||CstrInternalForces||+||CstrInertialForces|| $$+If 
 +$$ Rmin < limitNormFactor$$ 
 +then  
 +$$ Rmin limitNormFactor $$
  
-Ensuite, si  +and the residual is adimensionalized :
-$$ Rmoy < limitNormFactor$$ +
-on impose  +
-$$ Rmoy = limitNormFactor $$+
  
-Le résidu est alors adimensionnalisé via +$$Residual = \frac{||FreeResidual||}{Rmin}$$
- +
-$$Residu = \frac{||FreeResidual||}{Rmoy}$$+
  
 === Method5ResidualComputation(adimFactor) === === Method5ResidualComputation(adimFactor) ===
  
-Le résidu est adimensionalisé par le facteur ''adimFactor'' donné par l'utilisateur sans diviser par le nombre de dofs.+The residual is adimensionalized by the factor ''adimFactor'', given by the user, without dividing by the number of dofs.
  
-$$Residu = \frac{||FreeResidual||}{adimFactor }$$+$$Residual = \frac{||FreeResidual||}{adimFactor }$$
  
 === Method6ResidualComputation(adimFactor) === === Method6ResidualComputation(adimFactor) ===
  
-le résidu est adimensionalisé par le facteur ''adimFactor'' donné par l'utilisateur et par le nombre de dofs +The residual is adimensionalized by the factor ''adimFactor'', given by the user, and by the number of dofs. 
- +$$Residual = \frac{||FreeResidual||}{ndofs * adimFactor }$$
-$$Residu = \frac{||FreeResidual||}{nddls * adimFactor }$$ +
- +
-avec +
- +
-$nddls$ : nombre de degrés de liberté total +
- +
-=== Paramètres === +
- +
-^ paramètre ^ Valeur par défaut ^  description  ^  +
-| ''limitNormFactor'' |  1.0  | Valeur à partir de laquelle le résidu n'est plus divisé par Rmoy (à adapter en fonction du niveau de charge à l'aide de la sortie de verbose)| +
-| ''adimFactor'' |  -  | Facteur d'adimensionalisation fixe pour les méthodes 5 et 6 (pas de défaut : obligation de définir le facteur pour ces méthodes)| +
-| ''prec'' |  1.0E-4  | précision à atteindre sur le résidu | +
-| ''itma'' |  7  | nombre maximal d'itérations de Newton-Raphson (ce nombre est corrigé en interne si le critère automatique de réactualisation de la matrice est utilisé). Les itérations sont aussi stoppées si le résidu ne diminue pas sur 6 itérations| +
-| ''irea'' |  1  |= 1 : la matrice de raideur est actualisée à chaque itération| +
-|         | > 1 : la matrice est actualisée automatiquement si le numéro de l'itération est inférieur à ''irea''. Le critère est basé sur une vitesse de convergence et un rapport des temps CPU (nécessite ''MDE_ICPU=1'')| +
-| ''lsma'' |  0  | nombre maximal d'itérations de line-search | +
-| ''lsp1'' |  1.0  | précision requise sur le résidu du line search +
-| ''lsp2'' |  1.E-8  | critère d'arrêt quand le paramètre du line search n'évolue plus suffisamment +
-| ''predMeth'' |  ''EXTRAPOLATION_DEFAULT''  | ''EXTRAPOLATION_DEFAULT'' = Extrapolation par défaut du schéma (par exemple méthode de calcul du prédicteur des déplacements par les formules de Newmark dans le cas du [[doc:user:integration:scheme:dynimpl#la_famille_alpha-generalisee|schéma alpha-généralisé]]) +
-|              |                        | ''EXTRAPOLATION_MRUA'' = Méthode de calcul du prédicteur des déplacements par les formules du MRUA (atuellement seulement possible pour les [[doc:user:integration:scheme:dynimpl#la_famille_alpha-generalisee|algorithmes alpha-généralisés]]) | +
-|              |                        | ''EXTRAPOLATION_ZERO'' = Les positions sont les anciennes positions, la vitesse (et l'accélération pour les schémas dynamiques) sont nulles (atuellement seulement possible pour les [[doc:user:integration:scheme:quasistatique|algorithmes quasi-statiques]] et [[doc:user:integration:scheme:dynimpl#la_famille_alpha-generalisee|algorithmes alpha-généralisés]]) . |+
  
 +where
  
- +$ndofs$ : total number of dofs
  
 +=== Parameters ===
 +^ Parameter ^ Default value ^  Description 
 +| ''limitNormFactor'' |  1.0  | Value from which the residual is no longer divided by $$Rmin$$ (to adjust as a function of the loading using verbose output)|
 +| ''adimFactor'' |  -  | Fixed adimensionalization factor for methods #5 and 6 (no default value, the factor must be defined for these methods)|
 +| ''prec'' |  1.0E-4  | accuracy that the residual must reach |
 +| ''itma'' |  7  | maximal number of Newton-Raphson iterations (this number if corrected internally if the automatic criterion is used to update the matrix). Iterations are stopped if the residual does not decrease over 6 iterations|
 +| ''irea'' |  1  |= 1 : stiffness matrix updated for each iteration|
 +|         | > 1 : stiffness matrix is updated automatically if the iteration number is lower than ''irea''. The criterion is based on a convergence speed and a CPU time ratio (requires ''MDE_ICPU=1'')|
 +| ''lsma'' |  0  | maximal line-search iteration number|
 +| ''lsp1'' |  1.0  | accuracy that the line-search residual must reach  |
 +| ''lsp2'' |  1.E-8  | stop criterion when the line search parameter is not updated enough  |
 +| ''predMeth'' |  ''EXTRAPOLATION_DEFAULT''  | ''EXTRAPOLATION_DEFAULT'' = Extrapolation of the scheme by default (for example method to compute the displacement predictor by Newmark formula in the case of  [[doc:user:integration:scheme:dynimpl#la_famille_alpha-generalisee|alpha-generalized scheme]])  |
 +|              |                        | ''EXTRAPOLATION_MRUA'' = method to compute the displacement predictor by MRUA formula (for now only possible for [[doc:user:integration:scheme:dynimpl#la_famille_alpha-generalisee|alpha-generalized algorithms]]) |
 +|              |                        | ''EXTRAPOLATION_ZERO'' = New positions are equal to the old ones, speed (and acceleration for dynamic schemes) equal to zero (for now only possible for  [[doc:user:integration:scheme:quasistatique|quasi-static algorithms]] and [[doc:user:integration:scheme:dynimpl#la_famille_alpha-generalisee|alpha-generalized algorithms]]) . |
 +| ''VACMeth'' | ''VAC_SCHEMECONSISTANT'' | ''VAC_SCHEMECONSISTANT'' : Calculation of speed and acceleration with Newmark formula | 
 +|             | | ''VAC_BACKWARDEULER'' : Calculation of speed and acceleration using Backward Euler (to stabilize Newmark with dofs with a non zero fixed displacement. See JPP's thesis pg VIII.28) |
 +| ''cpuDep'' | ''False'' | Specify if the criterion for updating the stiffness matrix (irea > 1) depends on the User CPU time. (Metafor Version > 2422). | 
 +# ''forceOneIte'' | ''False'' | If True, Force the resolution of at least one iteration (mechanical or thermal according to the iteration manager even if the tolerance is allready met at iteration 0. |
    
doc/user/integration/general/mim_tim.1373635719.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki