Главная :: Elmer :: Запуск Elmer в консоли и командный sif-файл
Программиста спрашивают: Скажите пожалуиста, который час? Программист: Который час, если вас это прикалывает девушка.

Запуск Elmer в консоли и командный sif-файл

Расчет моделей в 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