Расчет моделей в Elmer осуществляется консольным решателем ElmerSolver. При запуске расчета в графической оболочке решатель запускается в фоновом режиме, а графическая оболочка отображает ход расчета (график сходимости и информацию процесса расчета). Разделение модуля расчета и интерфейса позволяет запускать расчет модели напрямую в консоли. Все параметры модели (кроме расчетной сетки) задаются в командном sif-файле. Достигаемые преимущества при этом следующие:
Параметры модели задаются в текстовом файле (по умолчанию case.sif) имеющим определенную структуру, соответствующую пунктам меню Model графического интерфейса ElmerGUI.
В заголовке файла указываются: уровень служебных сообщений (сообщения об ошибках или предупреждениях); путь к папке с расчетной сеткой (символ точка - текущий каталог); дополнительный путь для поиска используемых файлов; путь к папке для результатов расчетов (например, файл case.ep для постпроцессора ElmerPost).
Header CHECK KEYWORDS Warn Mesh DB "." "." Include Path "" Results Directory "." End
Секция моделирования определяет основные параметры расчета.
Simulation Max Output Level = 5 Coordinate System = Axi Symmetric Coordinate Mapping(3) = 1 2 3 Simulation Type = Transient Steady State Max Iterations = 10 Output Intervals = 1 Timestepping Method = BDF BDF Order = 2 Timestep intervals = 1000 Timestep Sizes = 0.01 Solver Input File = case.sif Post File = case.ep End
Физические константы по умолчанию (если не используются, то можно не включать эту секцию):
Constants Gravity(4) = 0 -1 0 9.82 Stefan Boltzmann = 5.67e-08 Permittivity of Vacuum = 8.8542e-12 Boltzmann Constant = 1.3807e-23 Unit Charge = 1.602e-19 End
Описание тел. Секция повторяется для каждого тела отдельно с указанием номеров материала тела, решаемых уравнений и начальных условий.
Body 1 Target Bodies(1) = 1 Name = "Body 1" Equation = 1 Material = 1 Initial condition = 1 End
Решатель определяет какие уравнения решаются. В качестве решателя могут быть заданы не только уравнения, а так же утилиты (в примере ниже утилита записи результатов расчетов SaveLine). Каждый решатель имеет специфические настройки решателя (в данном случае Filename - имя файла с результатами, Filename Numbering - нумерация файлов по номеру итерации, Exec Solver - когда запускать решатель /здесь After Timestep - после шага по времени/).
Solver 1 Equation = SaveLine Procedure = "SaveData" "SaveLine" Filename = ./res/d.dat Filename Numbering = True Exec Solver = After Timestep End
В следующем решателе (уравнение Навье-Стокса) к специфическим настройкам относятся степени свободы (Variable = Flow Solution[Velocity:2 Pressure:1] - две компоненты скорости и давление). Общие настройки для каждого решателя определяют параметры численной схемы. Это критерии сходимости стационарной задачи, критерий сходимости и максимальное число итераций для нестационарных задач (схема Ньютона), параметры решения системы линейных уравнений (здесь BiCGStab - стабилизированный метод бисопряжённых градиентов, Linear System Max Iterations = 500 - не более 500 итераций)
Solver 2 Equation = Navier-Stokes Procedure = "FlowSolve" "FlowSolver" Variable = Flow Solution[Velocity:2 Pressure:1] Exec Solver = Always Stabilize = True Bubbles = False Lumped Mass Matrix = False Optimize Bandwidth = True Steady State Convergence Tolerance = 1.0e-5 Nonlinear System Convergence Tolerance = 1.0e-7 Nonlinear System Max Iterations = 20 Nonlinear System Newton After Iterations = 3 Nonlinear System Newton After Tolerance = 1.0e-3 Nonlinear System Relaxation Factor = 1 Linear System Solver = Iterative Linear System Iterative Method = BiCGStab Linear System Max Iterations = 500 Linear System Convergence Tolerance = 1.0e-10 BiCGstabl polynomial degree = 2 Linear System Preconditioning = Diagonal Linear System ILUT Tolerance = 1.0e-3 Linear System Abort Not Converged = False Linear System Residual Output = 1 Linear System Precondition Recompute = 1 End
Уравнение задается списком определенных выше решателей. В данном случае запускается два решателя - уравнение Навье-Стокса и запись результатов.
Equation 1 Name = "Equation 1" Active Solvers(2) = 1 2 End
Секция материала содержит используемые в решаемых уравнениях материальные параметры (здесь Density - объемная плотность, Viscosity - динамическая вязкость).
Material 1 Name = "Material 1" Density = 780 Viscosity = 1.014e-3 End
Начальные условия (здесь задаются две компоненты скорости и давление):
Initial Condition 1 Name = "InitialCondition 1" Velocity 2 = 0 Pressure = 0 Velocity 1 = 0 End
Граничные условия задаются для каждой границы отдельно. При использовании утилиты SaveLine опция Save Line = True включает данную границу для сохранения значений переменных в файл. Опция Noslip wall BC = True означает условие залипания жидкости.
Boundary Condition 1 Target Boundaries(1) = 1 Name = "BoundaryCondition 1" Velocity 1 = 0 Save Line = True External Pressure = 100 End