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 [2014/03/18 18:32] wauteletdoc: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 17: Line 17:
     mim.setConstrainedDofsVAComputationMethod(VACMeth)     mim.setConstrainedDofsVAComputationMethod(VACMeth)
     mim/tim.setPreviousResidualsDecreaseCriterion()     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+where
  
-=== Paramètres ===+$ndofs$ : total number of dofs
  
-paramètre Valeur par défaut ^  description  ^  +=== Parameters === 
-| ''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)| +Parameter Default value ^  Description  ^  
-| ''adimFactor'' |  -  | Facteur d'adimensionalisation fixe pour les méthodes et 6 (pas de défaut : obligation de définir le facteur pour ces méthodes)| +| ''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)| 
-| ''prec'' |  1.0E-4 précision à atteindre sur le résidu +| ''adimFactor'' |  -  | Fixed adimensionalization factor for methods #and 6 (no default value, the factor must be defined for these methods)| 
-| ''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 itérations+| ''prec'' |  1.0E-4 accuracy that the residual must reach 
-| ''irea'' |  1  |= 1 : la matrice de raideur est actualisée à chaque itération+| ''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 iterations
-|         | > 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'')| +| ''irea'' |  1  |= 1 : stiffness matrix updated for each iteration
-| ''lsma'' |  0  | nombre maximal d'itérations de line-search | +|         | > 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'')| 
-| ''lsp1'' |  1.0  | précision requise sur le résidu du line search +| ''lsma'' |  0  | maximal line-search iteration number
-| ''lsp2'' |  1.E-8  | critère d'arrêt quand le paramètre du line search n'évolue plus suffisamment  | +| ''lsp1'' |  1.0  | accuracy that the line-search residual must reach  | 
-| ''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é]])  | +| ''lsp2'' |  1.E-8  | stop criterion when the line search parameter is not updated enough  | 
-|              |                        | ''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]]) | +| ''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_ZERO''Les positions sont les anciennes positions, la vitesse (et l'accélération pour les schémas dynamiquessont 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]]) . | +|              |                        | ''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]]) | 
-| ''VACMeth'' | ''VAC_SCHEMECONSISTANT'' | ''VAC_SCHEMECONSISTANT''Calcul des vitesses & accélérations via les formules de newmark |  +|              |                        | ''EXTRAPOLATION_ZERO''New positions are equal to the old onesspeed (and acceleration for dynamic schemesequal 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]]) . | 
-|             | | ''VAC_BACKWARDEULER''Calcul des vitesses & accélérations selon un schéma Euler Arrière (pour stabiliser le newmark pur avec ddl à déplacement imposé non nulvoir thèse JPP pg VIII.28) |+| ''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 displacementSee 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.1395163939.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki