Auf dieser Seite werden die möglichen Einstellungen für den Löser Elmer beschrieben.
Allgemein
Elmer ist ein multiphysikalischer Löser. Daher können mehrere Hauptgleichungen zur Lösung von Problemen verwendet werden. Die verschiedenen Gleichungen sind hier aufgelistet.
Es gibt Löser-Einstellungen, die für alle Gleichungen verfügbar sind. Diese werden hier beschrieben. Einstellungen, die nur für eine bestimmte Gleichung verfügbar sind, werden auf den Seiten der entsprechenden Gleichung beschrieben.
Elmer bietet die Lösungstypen stationärer Zustand und vorrübergehend und zwei weitere Lösungssysteme, lineares System und nichtlineares System. Das nichtlineare System wird verwendet für die
Strömungsgleichung and
Wärmegleichung.
Einstellungen bearbeiten
Die Löser-Einstellungen findet man in dem Eigenschaften-Editor nachdem man auf eine Gleichung in der Baumansicht geklickt hat. Dort können sie wie jede andere Eigenschaft direkt bearbeitet werden.
Löser
Koordinatensystem
Das Standardkoordinatensystem ist „Kartesisch 3D“. Bei einigen Gleichungen können nicht alle Koordinatensysteme verwendet werden. Dies ist auf den Wiki-Seiten der entsprechenden Gleichungen vermerkt.
Zeitschritte (Transienten-Analysen)
Hinweis: FreeCAD 0.20.x bietet bereits die folgenden Einstellungen, aber es wird nur das letzte Zeit-Ergebnis ausgegeben. Ab FreeCAD 0.21 erhält man eine Ausgabe für die verschiedenen Zeiten.
Für transiente Analysen müssen die Zeitschritte definiert werden. Dies erfolgt über die folgenden Einstellungen:
- DatenBDFOrder: Order for the method BDF (Backward Differentiation Formula). It is recommended to use the default of 2.
- DatenOutput Intervals: An array of intervals. A solver result file will be output every interval time step. For example, if a result file should be output every third time step, set it to 3. The array corresponds to the DatenTimestep Intervals.
Note: The first result in every case will be created for the first time step. To get for example results after 25 % of the total time and if the last result should be the final time, set DatenOutput Intervals to 5 and DatenTimestep Intervals to 21. introduced in 0.21
- DatenTimestep Intervals: An array of time intervals (number of timesteps). The solver will perform one time interval after another. For example, if the solver should calculate the first 10 seconds in steps of 0.1 second, then 50 seconds in steps of 1 second and then stop, you need to set the timestep intervals [100, 50] and the timestep size intervals [0.1, 1.0].
- DatenTimestep Sizes: An array of timestep sizes. The time unit is second. The array corresponds to the DatenTimestep Intervals.
Hinweis:
- Um die gewünschte Gesamtzeit einer Transientenanalyse zu erreichen, legt man die richtige Anzahl und Größe der Zeitschritte fest. Um beispielsweise 50 Sekunden eines Prozesses in Schritten von 10 Sekunden zu simulieren, benötigt man 5 solcher Zeitschritte. Man setzt daher die Zeitschrittintervalle auf [5] und die Zeitschrittgrößen auf [10].
- Obwohl die Begriffe "Zeiten" und "Sekunden" verwendet werden, handelt es sich bei den Zeiten tatsächlich um Löser-Fortschritte, wenn die Analyse nicht zeitabhängig ist.
Informationen zur Visualisierung der Ergebnisse findet man unter Elmer-Visualisierung.
Typ
- DatenSimulation type: If the simulation is Steady state, Transient or just Scanning. Transient means the development over the solver time is calculated. See section Timestepping for the necessary settings.
- DatenSteady State Max Iterations: The maximum number of steady-state solver runs.
- DatenSteady State Min Iterations: The minimum number of steady-state solver runs.
Gleichung
Basis
Alle Gleichungen haben diese Eigenschaften:
- DatenBezeichnung: Name der Gleichung in der Baumansicht.
- DatenPriorität: Zahl, die die Priorität dieser Gleichung gegenüber den anderen Gleichungen in der Analyse bestimmt. Die Gleichung mit der höchsten Zahl in der Analyse wird zuerst gelöst. Wenn zwei Gleichungen dieselbe Prioritätszahl haben, wird diejenige zuerst gelöst, die in der Baumansicht an erster Stelle steht.
- DatenStabilisieren: Wenn auf "true" gesetzt, verwendet der Solver die stabilisierte Finite-Elemente-Methode zur Lösung der Wärmeleitungsgleichung mit einem Konvektionsterm. Wenn auf "false" gesetzt, wird stattdessen die Residual Free Bubble (RFB)-Stabilisierung verwendet. Wenn die Konvektion dominiert, muss die Stabilisierung verwendet werden, um die Gleichung erfolgreich zu lösen.
Lineares System
This system has the following properties:
- DatenBiCGstabl Degree: Polynomial degree for the iterative solver method BiCGStabl . This has only an effect if DatenLinear Solver Type is Iterative and DatenLinear Iterative Method is BiCGStabl. Starting with the default of 2 is recommended.
- DatenIdrs Parameter: Parameter for the iterative solver method Idrs . This has only an effect if DatenLinear Solver Type is Iterative and DatenLinear Iterative Method is Idrs. Starting with the default of 2 is recommended. Setting the parameter to 3 might increase the solving speed a bit. For flow analyses the Idrs method is up to 30 % faster than the default BiCGStab method.
- DatenLinear Direct Method: Method used for direct solving. This has only an effect if DatenLinear Solver Type is Direct.
The possible methods are Banded, MUMPS and Umpfpack. Note that MUMPS usually needs to be installed before you can use it.
Note: when you use more than one CPU core for the solver (introduced in 0.21) only MUMPS can be used. MUMPS has to be installed manually to Elmer. It is only available as a download per request via email.
- DatenLinear Iterations: Maximal number of iterations for an iterative solver run. This has only an effect if DatenLinear Solver Type is Iterative.
- DatenLinear Iterative Method: Method used for iterative solving. This has only an effect if DatenLinear Solver Type is Iterative.
- DatenLinear Preconditioning: Method used for the preconditioning. For info about preconditioning, see this presentation (page 8) from Elmer.
- DatenLinear Solver Type: If the solving is done Direct or Iterative.
- DatenLinear System Solver Disabled: Disables the linear solver. Only use this for special cases.
It can be used to disable temporarily an equation since its solving is then not performed. There are, however cases where the solver is sent into an infinite loop instead.
- DatenLinear Tolerance: The tolerance for the solver to stop. If the error is smaller than the tolerance, the solver run will be finished. Otherwise, the full number of DatenLinear Iterations will be performed.
In the Elmer solver log you see how the error is minimized while the solver is running. (Look in the log at the end of every solver iteration for the value behind Relative Change). If it does not go down below a certain value but reaches a value above the current tolerance that is acceptable for you, you can increase the tolerance.
Nichtlineares System
Dieses System ist iterativ und hat die folgenden Eigenschaften:
- DatenNonlinear Iterations: Maximal number of iterations.
- DatenNonlinear Newton After Iterations: The nonlinear solver starts with the robust Picard algorithm. After some iterations, the algorithm is changed to the Newton algorithm which converges faster but is less robust if the results temporarily diverge (oscillations might occur). This setting sets the number of iterations after which the switch from the Picard to the Newton algorithm is made.
Note: the switch is made whatever is reached first, DatenNonlinear Newton After Iterations or DatenNonlinear Newton After Tolerance.
- DatenNonlinear Newton After Tolerance: The same as DatenNonlinear Newton After Iterations but here a tolerance is set. The tolerance is the norm of the nonlinear residual. If this is reached, the switch from the Picard to the Newton algorithm is made.
- DatenNonlinear Tolerance: The tolerance for the solver to stop. If the error is smaller than the tolerance, the solver run will be finished. Otherwise, the full number of DatenNonlinear Iterations will be performed.
In the Elmer output you see how the error is minimized while the solver is running. If it does not go down below a certain value that is acceptable but above the current tolerance, you can increase the tolerance.
- DatenRelaxation Factor: This is THE most important setting in case the solver does not converge:
Entspannungsfaktor
Wenn die Ergebnisse der Löser-Iteration numerisch oszillieren, können die Löser-Ergebnisse nicht zu einem endgültigen, stabilen Wert konvergieren. Um dies zu vermeiden, wird die berechnete Variable der i-ten Iteration/Löser-Durchlauf nicht als Eingabe für die nächste Iteration verwendet, sondern , ein Wert, der mit dem Ergebnis der vorherigen Iteration "gedämpft" wird. Der Relaxationsfaktor ist dabei definiert als
Bei dem Standardwert von 1,0 wird also keine Dämpfung verwendet. Je kleiner ist, desto größer ist die Dämpfung und desto länger ist die Konvergenzzeit. Wenn der Löser also nicht konvergiert, ändert man den Relaxationsfaktor zunächst auf 0,9, dann auf 0,8 und so weiter. Werte unter 0,3 sind ungewöhnlich. Wenn man solche Werte benötigt, sollte man sich die Mathematik der Analyse genauer ansehen.
In Fällen, in denen man eine ordnungsgemäße Konvergenz erhält, kann man auf einen Wert über 1,0 setzen, um die Konvergenz zu beschleunigen.
Stationärer Zustand
Dieser Teil der Einstellungen hat nur eine Eigenschaft:
- Daten-EigenschaftSteady State Tolerance: Die spezifische Konvergenztoleranz für den stationären Zustand oder das gekoppelte System. Alle Gleichungslöser müssen ihre eigenen Toleranzen für die Variable erfüllen, die sie berechnen, bevor das gesamte System als konvergiert gilt. Das Toleranzkriterium lautet:
wobei die Toleranz im stationären Zustand und die berechnete Variable in der i-ten Iteration/Lauflänge des Lösers ist.
FEM
- Solve: Solver CalculiX, Solver Elmer, Solver Mystran, Solver Z88; Mechanical Equations: Elasticity Equation, Deformation Equation; Electromagnetic Equations: Electrostatic Equation, Electricforce Equation, Magnetodynamic Equation, Magnetodynamic 2D Equation, Static Current Equation; Flow Equation, Flux Equation, Heat Equation, Solver Job Control, Run Solver
- Results: Purge Results, Show Result, Apply Changes to Pipeline, Post Pipeline From Result, Pipeline Branch, Warp Filter, Scalar Clip Filter, Function Cut Filter, Region Clip Filter, Contours Filter, Glyph Filter, Line Clip Filter, Stress Linearization Plot, Data at Point Clip Filter, Calculator Filter; Filter Functions: Plane, Sphere, Cylinder, Box; Data Visualizations: Create Lineplot, Create Histogram, Create Table
Anwenderdokumentation
- Erste Schritte
- Installation: Herunterladen, Windows, Linux, Mac, Zusätzliche Komponenten, Docker, AppImage, Ubuntu Snap
- Grundlagen: Über FreeCAD, Graphische Oberfläche, Mausbedienung, Auswahlmethoden, Objektname, Voreinstellungseditor, Arbeitsbereiche, Dokumentstruktur, Objekteigenschaften, FreeCAD unterstützen, Spenden
- Hilfe: Anleitungen, Videoanleitungen
- Arbeitsbereiche: Std Base, Arch, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework