FEM Paramètres du solveur Elmer

From FreeCAD Documentation
This page is a translated version of the page FEM SolverElmer SolverSettings and the translation is 100% complete.
Other languages:

Cette page décrit les paramètres possibles pour le solveur Elmer.

Général

Elmer est un solveur multiphysique. Par conséquent, vous pouvez utiliser plusieurs équations principales pour résoudre des problèmes. Les différentes équations sont listées ici.

Il existe des paramètres du solveur, disponibles pour toutes les équations. Ils sont décrits ici. Les paramètres disponibles uniquement pour une équation particulière sont décrits dans les pages de l'équation correspondante.

Elmer offre les types de résolution régime stationnaire et transient et deux principaux systèmes de résolution, système linéaire et système non linéaire. Le système non linéaire est utilisé pour les Équations d'écoulement et les Équations de chaleur.

Modification des paramètres

Les paramètres du solveur se trouvent dans l'éditeur de propriétés après avoir cliqué sur une équation dans la vue en arborescence. Vous pouvez les modifier directement à cet endroit comme n'importe quelle autre propriété.

Le solveur

Système de coordonnées

Le système de coordonnées par défaut est Cartésien 3D. Pour certaines équations, tous les systèmes de coordonnées ne peuvent pas être utilisés. Ceci est indiqué sur les pages Wiki des équations correspondantes.

Pas de temps (analyses transitoires)

Remarque : FreeCAD 0.20.x fournit déjà les paramètres suivants mais seul le résultat de la dernière étape est affiché. A partir de FreeCAD 0.21, vous obtiendrez un résultat pour les différents temps.

Pour les analyses transitoires, les pas de temps doivent être définis. Ceci est fait par les paramètres suivants :

  • DonnéesBDFOrder : ordre pour la méthode BDF (Backward Differentiation Formula). Il est recommandé d'utiliser la valeur par défaut de 2.
  • DonnéesOutput Intervals : tableau d'intervalles. Un fichier de résultats du solveur sera produit à chaque intervalle de temps. Par exemple, si un fichier de résultat doit être produit tous les trois pas de temps, définissez-le à 3. Le tableau correspond à DonnéesTimestep Intervals.
    Remarque : le premier résultat dans chaque cas sera créé pour le premier pas de temps. Pour obtenir par exemple des résultats après 25 % du temps total et si le dernier résultat doit être le temps final, définissez DonnéesOutput Intervals à 5 et DonnéesTimestep Intervals à 21. introduit dans la version 0.21
  • DonnéesTimestep Intervals : tableau d'intervalles de temps. Le solveur effectuera un intervalle de temps après l'autre. Par exemple, si le solveur doit calculer les 10 premières secondes par pas de 0.1 seconde, puis 50 secondes par pas de 1 seconde et enfin s'arrêter, vous devez définir les intervalles de pas de temps [100, 50] et les intervalles de taille de pas de temps [0.1, 1.0].
  • DonnéesTimestep Sizes : tableau de tailles de pas de temps. L'unité de temps est la seconde. Le tableau correspond à DonnéesTimestep Intervals.

Remarque : bien que les termes "heures" et "secondes" soient utilisés, les heures sont en fait des progressions du solveur si l'analyse n'est pas dépendante du temps.

Pour savoir comment visualiser les résultats, voir l'info Visualisation d'Elmer.

Type

  • DonnéesSimulation type : si la simulation est Steady state, Transient ou simplement Scanning. Transitoire signifie que l'évolution sur la durée du solveur est calculée. Voir la section Pas de temps (analyses transitoires) pour les paramètres nécessaires.
  • DonnéesSteady State Max Iterations : nombre maximum d'exécutions du solveur en régime stationnaire.
  • DonnéesSteady State Min Iterations : nombre minimum d'exécutions du solveur en régime stationnaire.

Équation

Base

Toutes les équations ont ces propriétés :

  • DonnéesLabel : nom de l'équation dans l'arborescence.
  • DonnéesPriority : nombre déterminant la priorité de cette équation par rapport aux autres équations de l'analyse. L'équation ayant le numéro le plus élevé dans l'analyse sera résolue en premier. Si deux équations ont le même numéro de priorité, celle qui est la première dans l'arborescence sera résolue en premier.
  • DonnéesStabilize : si défini à true, le solveur utilisera la méthode des éléments finis stabilisés lors de la résolution de l'équation de la chaleur avec un terme de convection. S'il est défini sur false, la stabilisation par Residual Free Bubble (RFB) est utilisée à la place. Si la convection domine, la stabilisation doit être utilisée afin de résoudre l'équation avec succès.

Système linéaire

Ce système a les propriétés suivantes :

  • DonnéesBiCGstabl Degree : degré polynomial pour la méthode de résolution itérative BiCGStabl. Ceci n'a d'effet que si DonnéesLinear Solver Type est Iterative et DonnéesLinear Iterative Method est BiCGStabl. Il est recommandé de commencer par la valeur par défaut de 2.
  • DonnéesIdrs Parameter : paramètre pour la méthode du solveur itératif Idrs. Ceci n'a un effet que si DonnéesLinear Solver Type est Iterative et DonnéesLinear Iterative Method est Idrs. Il est recommandé de commencer avec la valeur par défaut de 2. Le réglage du paramètre à 3 peut augmenter un peu la vitesse de résolution. Pour les analyses de flux, la méthode Idrs est jusqu'à 30 % plus rapide que la méthode par défaut BiCGStab.
  • DonnéesLinear Direct Method : méthode utilisée pour la résolution directe. Ceci n'a un effet que si DonnéesLinear Solver Type est Direct.
    Les méthodes possibles sont Banded, MUMPS et Umpfpack. Notez que MUMPS doit généralement être installé avant que vous puissiez l'utiliser.
    Remarque : lorsque vous utilisez plus d'un noyau CPU pour le solveur (introduit dans la version 0.21), seul MUMPS peut être utilisé. MUMPS doit être installé manuellement sur Elmer. Il n'est disponible en téléchargement que sur demande par courrier électronique.
  • DonnéesLinear Iterations : nombre maximal d'itérations pour une exécution itérative du solveur. Ceci n'a un effet que si DonnéesLinear Solver Type est Iterative.
  • DonnéesLinear Iterative Method : méthode utilisée pour la résolution itérative. Ceci n'a d'effet que si DonnéesLinear Solver Type est Iterative.
  • DonnéesLinear Preconditioning : méthode utilisée pour le préconditionnement. Pour plus d'informations sur le préconditionnement, voir cette présentation (en) (page 8) d'Elmer.
  • DonnéesLinear Solver Type : si la résolution est faite Direct ou Iterative.
  • DonnéesLinear System Solver Disabled : désactive le solveur linéaire. N'utilisez cette option que dans des cas particuliers.
    Elle peut être utilisée pour désactiver temporairement une équation puisque sa résolution n'est alors pas effectuée. Il existe cependant des cas où le solveur est envoyé dans une boucle infinie.
  • DonnéesLinear Tolerance : la tolérance pour que le solveur s'arrête. Si l'erreur est inférieure à la tolérance, l'exécution du solveur est terminée. Sinon, le nombre total d'itérations linéaires DonnéesLinear Iterations sera exécuté.
    Dans le log du solveur Elmer, vous voyez comment l'erreur est minimisée pendant l'exécution du solveur. (Regardez dans le log, à la fin de chaque itération du solveur, la valeur derrière Relative Change). Si elle ne descend pas en dessous d'une certaine valeur mais atteint une valeur supérieure à la tolérance actuelle qui est acceptable pour vous, vous pouvez augmenter la tolérance.

Système non linéaire

Ce système est itératif et possède les propriétés suivantes :

  • DonnéesNonlinear Iterations : nombre maximal d'itérations.
  • DonnéesNonlinear Newton After Iterations : le solveur non linéaire démarre avec l'algorithme robuste Picard. Après quelques itérations, l'algorithme est remplacé par l'algorithme Newton qui converge plus rapidement mais est moins robuste si les résultats divergent temporairement (des oscillations peuvent se produire). Ce paramètre définit le nombre d'itérations après lesquelles le passage de l'algorithme Picard à l'algorithme Newton est effectué.
    Remarque : le passage se fait selon ce qui est atteint en premier, DonnéesNonlinear Newton After Iterations ou DonnéesNonlinear Newton After Tolerance.
  • DonnéesNonlinear Newton After Tolerance : identique à DonnéesNonlinear Newton After Iterations mais une tolérance est définie. La tolérance est la norme du résidu non linéaire. Si elle est atteinte, le passage de l'algorithme Picard à l'algorithme Newton est effectué.
  • DonnéesNonlinear Newton After Tolerance : la tolérance pour l'arrêt du solveur. Si l'erreur est inférieure à la tolérance, l'exécution du solveur est terminée. Sinon, le nombre total d'itérations DonnéesNonlinear Iterations sera exécuté.
    Dans la réponse d'Elmer, vous voyez comment l'erreur est minimisée pendant l'exécution du solveur. Si elle ne descend pas en dessous d'une certaine valeur acceptable mais supérieure à la tolérance actuelle, vous pouvez augmenter la tolérance.
  • DonnéesRelaxation Factor : c'est LE paramètre le plus important dans le cas où le solveur ne converge pas :

Facteur de relaxation

Si les résultats des itérations du solveur oscillent numériquement, les résultats du solveur ne peuvent pas converger vers une valeur finale et stable. Pour éviter cela, la variable calculée de la i-ième itération/exécution du solveur n'est pas prise comme entrée pour l'itération suivante, mais , une valeur qui est "amortie" avec le résultat de l'itération précédente. Le facteur de relaxation est donc défini comme suit

Ainsi, pour la valeur par défaut de 1,0, aucun amortissement n'est utilisé. Plus est petit, plus l'amortissement est important et plus le temps de convergence est long. Par conséquent, si le solveur ne converge pas, commencez à modifier le facteur de relaxation à 0,9, puis à 0,8 et ainsi de suite. Les valeurs inférieures à 0,3 sont inhabituelles et si vous en avez besoin, vous devriez examiner de plus près les mathématiques de votre analyse.
Pour les cas, où vous obtenez une convergence correcte, vous pouvez définir au-dessus de 1,0 pour accélérer la convergence.

Régime stationnaire

Cette partie des paramètres n'a qu'une seule propriété :

  • DonnéesSteady State Tolerance : la tolérance spécifique de convergence du régime stationnaire ou du système couplé. Tous les solveurs d'équations doivent respecter leurs propres tolérances pour la variable qu'ils calculent, avant que l'ensemble du système soit considéré comme convergé. Le critère de tolérance est :

alors que est la tolérance en régime stationnaire et est la variable calculée dans la i-ième itération/exécution du résolveur.