Внешний теплообмен в связке FlowVision-Abaqus

Решение задачи теплообмена в связке со сторонним конечно-элементным пакетом позволяет оценить деформацию конструкции под воздействием внешних тепловых потоков. Увеличение точности решения уравнения теплопереноса в таком расчёте достигается учётом в КЭ пакете анизатропных свойств материала.

Рассмотрим задачу о деформации бруска, одна из граней которого нагревается до 100 °С.

                                        1

В течение первого шага брусок полнотью прогревается. Эта итерация считатся только в Abaqus.
На втором шаге расчёта начинается уже совместное (в связке FlowVision – Abaqus) моделирование теплообмена между бруском и набегающим потоком. FlowVision считает параметры в набегающем потоке, который нагревается от стенок бруска; Abaqus производит расчёт теплопереноса и деформаций в твёрдном теле. 

Для этого обучающего примера мы рассмотрим создание проектов в Abaqus и во FlowVision, а также настройку их взаимосвязи и запуска на расчёт. При использовании готовой модели BrickABQ.inp, раздел с подготовкой проекта Abaqus можно пропустить.


Подготовка проекта Abaqus

В этой части обучающего примера мы рассмотрим подготовку проекта в Abaqus, которая включает в себя:

Создание геометрической модели в Abaqus

В данном разделе описывается самостоятельно создание модели бруска в Abaqus (версия 2019). При использовании готовой модели BrickABQ.inp, эту информацию можно пропустить и вернуться к ней позже, когда понадобятся соответствующие навыки.

В пункте Model > Edit Model Attributes > Model-1 укажите значение для абсолютной нулевой температуры:

  • Absolute zero temperature = - 273

Нажмите на кнопку Create Part. В открывшемся диалоговом окне Create Part задайте:

  • Name = Brick
  • Modeling space = 3D
  • Type = Deformable
  • Base Feature > Shape = Solid
  • Base Feature > Type = Extrusion
  • Approximate size = 0.25

Настройки в диалоговом окне Create Part

2 

В графическом рабочем окне, используя инструмент Create Isolated Point, создайте точки контура бруска.
Введите координаты точек: [-0.003,0.03], [-0.003,-0.01], [0.098,0.03], [0.098,-0.01].
С помощью инструмента Create Lines Connected постройте контур детали. Для этого, нажимая на Done (колесо мыши), последовательно соедините точки линиями.

 3

Чертёж модели в графическом окне

Далее в окне Edit Base Extrusion задайте толщину бруска. В поле Depth введите значение 20e-3 и нажмите ОК.

Задание толщины бруска в окне Edit Base Extrusion

4 

Создание характеристик материала

Перейдите в модуль Property. Нажмите на Create Material, чтобы создать новый материал.

В окне Edit Material задайте:

  • Name = Steel (имя материала)
  • General > Density = 7890 (плотность материала [кг∙м-3])
  • Mechanical > Elasticity > Elastic
    • Type: Isotropic
    • Young’s Module =2E11 (модуль Юнга [Па])
    • Poisson’s Ratio = 0.3 (коэффициент Пуассона)
  • Mechanical > Expansion
    • Type: Isotropic
    • Expansion Coeff = 7.2E-6
  • Thermal > Conductivity:
    • Type: Isotropic
    • Поставить галочку Use temperature-dependent data
  • Thermal > Specific Heat:
    • Type: Constant Volume
    • Поставить галочку Use temperature-dependent data
    • Number of field variables: 0

 Нажмите ОК.

Создайте сечение из материала Steel. В диалоговом окне Create Section задайте:

  • Name = Steel (имя сечения)
  • Category = Solid
  • Type = Homogeneous
  • и нажмите на Continue.

Откроется диалоговое окно Edit Section, в котором нужно задать Material = Steel и нажать ОК.

Задание характеристик стального сечения в окне Create Section

5
 

Нажмите на Assign Section.
В диалоговом окне Edit Section Assignment присвойте построенное сечение ранее созданной детали: выделите весь брусок (он подсветится красным цветом) и нажмите Done. В открывшемся окне нажмите ОК.

Задание для детали свойств стального сечения в окне Edit Section Assignment

6 


Создание сборки 

Перейдите к модулю Assembly. Для создания сборочной единицы нажмите на Create Instance.
Откроется окно со списком созданных деталей, в котором выберите деталь Brick и задайте Instance type = Dependent. После того, как в рабочей области появится созданная деталь, нажмите ОК.

7Создание сборки из детали Brick

настройка шага анализа

Численное моделирование будет состоять из двух этапов: предварительного прогрева бруска (расчёт только в Abaqus) и совместного FSI расчёта (FlowVision - Abaqus). 

Предварительный расчёт

Чтобы определить параметры предрасчёта, перейдите в модуль Step, нажмите на Create Step. В диалоговом окне Create Step задайте:

  • Name = Preload
  • Procedure Type = General
  • В списке ниже выберите Coupled temp-displacement и нажмите Continue.

Создание шага предрасчёта в окне Create Step

8

 
Откроется окно Edit Step, в котором нужно задать параметры шага анализа. Во вкладке Basic задайте настройки шага:

  • Response: Steady-state
  • Time Period = 0.1
  • Nlgeom = Off
  • Во вкладке Incrementation оставьте настройки по умолчанию.
Совместный FSI расчёт

На втором шаге будет проводится уже совместный расчёт. В диалоговом окне Create Step задайте:

  • Name = FSI
  • Procedure Type = General
  • В списке ниже выберите Coupled temp-displacement и нажмите Continue.

Создание шага FSI расчёта в окне Create Step

9

 
В окне Edit Step во вкладке Basic задайте следующие настройки:

  • Response: Steady-state
  • Time Period = 20
  • Nlgeom = Off

Задание основных настроек шага FSI расчёта

10

 
Во вкладке Incrementation задайте следующие параметры:

    • Maximum numbers of increments = 100000 (максимальное число инкрементов)
    • Increment size > Initial = 0.0001 (начальный инкремент)
    • Increment size > Minimum = 1E-10 (минимальный инкремент)
    • Maximum increment size > Specify = 10 (максимальный инкремент)

Задание настроек инкрементов шага FSI расчёта

11

  

Построение сетки

Перейдите к модулю Mesh и выберите Object: Part.
С помощью инструмента Seed part Instance разбейте брусок на элементы.
В диалоговое окне Global Seeds укажите величину параметра Approximate global size = 0.0015 и нажмите ОК. Теперь, используя Seed edges, задайте 1 элемент вдоль оси Z на всех гранях бруска: чтобы обеспечить плоскую постановку задачи.

12Разбиение модели бруска на расчётные элементы

Для данного типа анализа необходимо выбрать соответсвующий тип элементов: С3В8T. Нажмите на Assign Element Type и выберите следующие настройки:

  • Element Library: Standard;
  • Geometric Order: Linear;
  • Family Coupled Temperature-Displacement.

Настройки типа элементов анализа

13

  
Для запуска генерации сетки нажмите на Mesh Part Instance и затем нажмите на Yes.

14

Расчётная сетка в объёме бруска

 Задание поверхности обмена в Abaqus

Следующим важным шагом в создании модели для совместного расчета является задание поверхностей обмена - интерфейсных поверхностей между Abaqus и FlowVision. Abaqus моделирует деформации и тепловой поток внутри бруска и экспортирует температуру с узлов сетки, располагающихся на поверхностях обмена, во FlowVision.

Чтобы задать поверхность обмена, выполните следующие действия:
В дереве модели сделайте двойной щелчок на Assembly > Surfaces (или выделите и примените команду Create). Откроется диалоговое окно Create Surface, задайте в нем:

  • Name = DC-SURF (имя поверхности обмена)
  • Type = Geometry

Создание поверхностей обмена

16  
Необходимо выделить весь брусок и нажать Done.

15Выделение поверхностей обмена Abaqus-FlowVision на модели бруска

Задание граничных условий

В данной постановке задачи будут использоваться: ГУ ограничивающее переменение бруса и ГУ нагрева.

Граничное условие Fix

Перейдите в модуль Load. Выберите Create Boundary condition и создайте граничное условие на нижней поверхности бруска со следующими параметрами:

  • Name = FIX
  • Step = Preload
  • Category = Mechanical
  • Types for Selected Step = Symmetry/Antisymmetry/Encastre
  • Нажмите Continue.

Создание граничного условия fix

17

  
В рабочем пространстве выберите нижнюю поверхность бруска и нажмите Done.

В открывшемся диалоговом окне Edit Boundary Condition выберите для плоскости бруска тип ГУ , ограничивающий перемещения данной плоскости по всем степеням свободы: ENCASTRE (U1=U2=U3=UR1=UR2=UR3=0).

18Задание свойств граничного условия fix

Граничное условие temperature

Cоздайте новое граничное условие на той же поверхности бруска со следующими параметрами:

  • Name = Temperature
  • Step = Preload
  • Category = Other
  • Types for Selected Step = Temperature
  • Нажмите Continue.

Создание граничного условия tempetarure

19  
В рабочем пространстве выберите нижнюю поверхность бруска и нажмите Done.
В открывшемся диалоговом окне Edit Boundary Condition введите значение Magnitude: 100.

Задание параметров на ГУ tempetarure

20  

Генерация inp-файла

Для генерации inp-файла выполните следующие действия:

  • Перейдите в модуль Job и в окне Job Manager создайте новый анализ. Нажмите Create, после чего в диалоговом окне Create job задайте для нового анализа имя BrickABQ и нажмите Continue.
  • В окне Job Manager для строки созданного анализа нажмите на Write Input.
  • Сохраните и закройте проект. 

Модификация inp-файла проекта Abaqus

Прилагаемый готовый файл OneValve.inp уже модифицирован, при его использовании данный раздел можно пропустить.

Рекомендуем посмотреть содержимое файла OneValve.inp в текстовом редакторе.

Для самостоятельного создания inp - файла, выполните следующие действия:

  • Откройте inp-файл проекта Abaqus в текстовом редакторе.
  • Добавьте в модуль STEP для шага **Step: FSI следующие строки перед строкой *End Step:

*CO-SIMULATION, PROGRAM=DIRECT, NAME=FlowVision, CONTROLS=FSI
*CO-SIMULATION REGION, IMPORT
ASSEMBLY_DC-SURF, CFL
*CO-SIMULATION REGION, EXPORT
ASSEMBLY_DC-SURF, NT
*CO-SIMULATION CONTROLS, NAME=FSI, TIME INCREMENTATION=SUBCYCLE, TIME MARKS=YES



Эти строки используются для идентификации совместного расчета со сторонней программой.

Перед именем региона обмена необходимо добавлять ASSEMBLY_ в строках косимуляции.

В inp-файле после модификации не должно оставаться пустых строк.

Подробнее об использованных для модификации настройках (*CO-SIMULATION, *CO-SIMULATION CONTROLS, *CO-SIMULATION REGION) читайте в Abaqus Keywords Reference Manual.


Подготовка проекта во FlowVision

Во FlowVision моделируется движение и нагрев холодного воздуха в канале.

Настройка проекта во FlowVision состоит из:

Подготовка Геометрии

Требования к проекту:

Геометрия для данного примера создается с помощью вкладки Геометрия.
Запустите Пре-Постпроцессор и создать новый проект: Файл > Создать новый проект... > Создать пустой проект.
Во вкладке Геометрия в папке Исходные геом. модели создайте Объект Параллелепипед. В окне свойств данного объекта задайте следующие параметры:

  • Расположение:
    • Опорная точка:
      • X = 0 [м]
      • Y = 0 [м]
      • Z = 0 [м]
    • Ось X:
      • X = 1
      • Y = 0
      • Z = 0
    • Ось Y:
      • X = 0
      • Y = 1
      • Z = 0
    • Размер:
      • X = 0.3 [м]
      • Y = 0.018 [м]
      • Z = 0.1 [м]

В контекстном меню Параллелепипед #0 выберите пункт Создать консистентную сетку с размерами:

  • X = 1
  • Y = 1
  • Z = 1

В контекстном меню созданной сетки выберите пункт Использовать для компоновки подобластей.
В папке Компоновка подобластей выберите объект Скомпонованные подобласти. В контекстном меню данного объекта выберите пункт Выполнить компоновку.

После выполнения компоновки, данный объект можно использовать как геометрию региона в препроцессоре.
Смените название объекта Скомпонованные подобласти > Параллелепипед #0 – сетка на Подобласть #0. В контекствном меню объекта Скомпонованные подобласти выберите пункт Использовать как геометрию региона.

21

Геометрия Региона во FlowVision

Физическая модель

В качестве Вещества в этом учебном примере будет использоваться воздух. 

  • Откройте контекстное меню папки Вещества и, при помощи команды Создать, создайте Вещество #0.
  • В контекстном меню Вещества #0 примените команду Загрузить и БВ > Стандартная и загрузите вещество Воздух в газовой фазе.

В папке Фазы:

  • Создайте сплошную Фазу #0.
  • В Фазе #0 добавьте Вещество #0 в подпапку Фаза #0 > Вещества.
  • В окне свойств папки Фаза #0 > Физические процессы задайте:
    • Теплоперенос = Теплоперенос через h
    • Движиение = Модель Навье-Стокса
    • Турбулентность = KES

В папке Модели:

  • Создайте Модель #0
  • Добавьте Фазу #0 в подпапку Модель #0 > Фазы.
  • Задайте движение жидкости вдоль оси X со скоростью 2 м/с: в окне свойств элемета Модели > Модель #0 > Нач. данные > Нач. данные #0 > Скорость (Фаза #0) задайте:
    • X = 2 [м с-1]

В окне свойств Подобласти #0 задайте:

  • Модель = Модель #0

Создание импортированного объекта и модификатора «Подвижное тело»

В контекстном меню папки Объекты выберите пункт Создать.
В окне Создать новый объект выберите Тип Объекта > Импортированный объект и нажмите ОК.
В качестве геометрии импортированного объекта используйте геометрию BrickABQ.inp.

В папке Подобласти > Подобласти #0 > Модификаторы создайте модификатор и в появившемся окне Создать новый модификатор выберите Подвижное тело и в качестве Объекта – Импортированный Объект #0.

В окне свойств модификатора Подвижное тело #0 задайте его начальное положение:

  • Начальное положение:
    • Опорная точка:
      • X = -0.04 [м]
      • Y = 0.01 [м]
      • Z = -0.041 [м]
    • Ось Y
      • X = 0
      • Y = 0
      • Z = 1

Нажмите Применить, после чего поместите Подвижное тело #0 в начальное положение ().

Задание граничных условий

Задайте граничные условия:

ГУ Симметрия:

  • Название > Симметрия
  • Тип > Симметрия
  • Установить цвет > Пурпурный

ГУ Вход:

  • Название > Вход
  • Тип > Вход/Выход
  • Температура (Фаза #0) > Значение
    • Значение > 0 [°C]
  • Скорость (Фаза #0) > Фиксированная скорость
    • Значение >
      • X = 2 [м/с]
    • ТурбЭнергия (Фаза #0) > Пульсации
      • Значение > 0
    • ТурбДиссипация (Фаза #0) > Масштаб турбулентности
      • Значение > 0 [м]
    • Установить цвет > Красный

ГУ Выход:

  • Название > Выход
  • Тип > Свободный выход
  • Температура (Фаза #0) > Нулевой градиент
  • Скорость (Фаза #0) > Давление
    • Значение > 0 [Па]
  • ТурбЭнергия (Фаза #0) > Нулевой градиент
  • ТурбДиссипация (Фаза #0) > Нулевой градиент
  • Установить цвет > Синий

ГУ Стенка:

  • Название > Стенка
  • Тип > Стенка
  • Температура (Фаза #0) > Нулевой градиент
  • Скорость (Фаза #0) > Логарифмический закон
  • ТурбЭнергия (Фаза #0) > Значение в ячейке рядом со стенкой
  • ТурбДиссипация (Фаза #0) > Значение в ячейке рядом со стенкой
  • Цвет > Серый

ГУ Стенка:

  • Название > Брусок
  • Тип > Стенка
  • Температура (Фаза #0) > Внешнее сопряжение
  • Скорость (Фаза #0) > Логарифмический закон
  • ТурбЭнергия (Фаза #0) > Значение в ячейке рядом со стенкой
  • ТурбДиссипация (Фаза #0) > Значение в ячейке рядом со стенкой
  • Цвет > Желтый

Установите граничные условия в соответствии с картинкой ниже.

 

22

Схема расположения граничных условий в расчётной подобласти  

Расчетная сетка

Создание дополнительной подобласти для двумерной расчетной сетки

При моделировании двумерного течения с адаптацией, по третьему направлению могут возникнуть лишние ячейки. Это приводит к существенному увеличению времени расчёта.

Чтобы избежать такой ситуации необходимо создавать дополнительную подобласть на отдаленном расстоянии от плоскости симметрии. Тогда при адаптации, вдоль третьего направления всегда будет только одна расчётная ячейка.

Чтобы создать дополнительную нерасчетную подобласть, необходимо:
Создать Параллелепипед в папке Объекты в Препроцессоре.
В окне свойств Параллелепипеда #1 задать:

  • Расположение:
    • X = 0
    • Y = 2
    • Z = 0
  • Размер
    • X = 0.01
    • Y = 0.01
    • Z = 01

В контекстном меню Параллелепипеда #1 выбрать Встроить в основную геометрию.

Начальная сетка

Задайте в окне свойств Начальной сетки:

  • nX = 120
  • nY = 1
  • nZ = 40

23Начальная расчётная сетка

Создание адаптации

Необходимо постепенно адаптировать расчетную сетку, увеличивая точность в приграничном слое в процессе расчета. В нашем случае сетка адаптируется от 1-го до 3-го уровня в течение 300 шагов. Каждые 100 шагов включается новый уровень адаптации.

Для создания адаптации:

  • Создайте элемент Расчетная сетка > Адаптация > Адаптация #0
  • Добавьте ГУ с именем Брусок в качестве Объекта для Адаптации #0
  • В окне свойств объекта Адаптация #0 задайте Макс. уровень N с помощью таблицы. В качестве переменной необходимо выбрать Интегральные > Встроенные характеристики > Номер текущего шага.

Табличное задание адаптации по шагам

table3

  
В данном примере применяется адаптация с сохранением толщины адаптируемого слоя.  Слои необходимо также задавать с помощью таблицы. При включении нового уровня адаптации, граница адаптации 1-го уровня останется неизменной. А все последующие адаптации будут создаваться внутри 1-го уровня, занимая необходимое количество ячеек.
В качестве переменной используется Номер текущего шага:

  • Слоев уровня N:

table4

  • Слоев уровня N-1

table5

  • Слоев уровня N-2

table6

24Расчётная сетка с использованием адаптации поверхности бруска

Параметры расчета FlowVision

Для данная FSI-задача рассматривается только передача данных о теплообмене. Импорт координат во FlowVision отсутствует, а значит, шаг по времени будет задаваться только конвективным и диффузионным CFL. Так как нет замены и движения подвижного тела, то поверхностное CFL не учитывается.

Перейдите во вкладку Солвер и задайте следующией настройки для Шага по времени:

  • Конвективное CFL = 100
  • Поверхностное CFL = 1E+20
  • Диффузионное CFL = 100

Для решения 2D задачи необходимо изменить критерий малости ячеек с абсолютной на относительный. Во вкладке Солвер в окне свойств для объекта Ограничители > Ограничители для расчёта > Фазовые ограничители > Фаза #0 необходимо выставить Относительный критерий для Маленьких ячеек.

Параметры совместного расчЁта

Во вкладке Препроцессор в контекстном меню папки Внешние связи выберите создать новый объект, тип объекта: Abaqus Direct Coupling.
В появившемся окне необходимо выбрать inp-файл BrickABQ.inp.
В свойствах папки Внешние связи выберите следующие характеристики:

  • Способ > FlowVision
  • Шаг по времени > 0001
  • Коэф. шага по времени > 1
  • Старый офсет > Да

В свойствах объекта Внешние связи > Abaqus Direct Coupling выберите следующее:

  • Активность > Да
  • Abaqus > Запускать ABAQUS > Да
  • MPM Агнет
    • Адрес > Адрес машины, на которой будет запускаться Abaqus
    • Порт > Порт по умолчанию, который использует MPM Агент текущей версии
  • Источник IP > IP MPM Агента
  • Порт > 5555
  • Время ожидания [c] > 100
  • Релаксация по нагрузкам:
    • Масштабный коэффициент > 1
    • Старт в шагах > 0
    • Конец в шагах > 0
    • Начальный коэффициент > 1
    • Конечный коэффициент > 1
  • Реаксация по теплу:
    • Масштабный коэффициент > 1
    • Старт в шагах > 0
    • Конец в шагах > 20
    • Начальный коэффициент > 0
    • Конечный коэффициент > 1

Для объекта ASSEMBLY_DC-SURF выберете следующие свойства:

  • Подвижное тело > Подвижное тело #0

Остальные настройки остаются неизменными. 


Отображение результатов

Сечение расчетной сетки

Перейдите во вкладку Постпроцессор.
В свойствах объекта 3D-сцена > Объекты > Плоскость #0 выберите следующие настройки:

  • Нормаль:
    • X = 0
    • Y = 1
    • Z = 0

В контестном меню папки Слои создайте новый слой:

  • Тип слоя > Сечение расчётной сетки
  • Объекты > Плоскость #0

В контекстном меню появившегося слоя присойте следующие параметры:

  • Название > Сечение расчётной сетки
  • Отображение > Метод > Линии

 28Сечение расчётной сетки 

Распределение скоростей

В контестном меню папки Слои создайте новый слой:

  • Тип слоя > Векторы
  • Объекты > Плоскость #0

В контекстном меню появившегося слоя присойте следующие параметры:

  • Название > Скорость, м/с
  • Переменная > На регулярной сетке > Да
  • Сетка:
    • Размер 1 > 70
    • Размер 2 > 40
  • Масштабирование
    • Режим > Ручной
    • Максимум > 5
    • Опорная длина > 0.005
  • Раскраска
    • Переменная:
      • Переменная > Скорость
    • Диапазон:
      • Режим > Ручной
      • Максимум > 5
      • Минимум > 0
    • Палитра > Отображение:
      • Включено > Да
      • Заголовок > Да
      • Стиль > Стиль 1
      • Цвет > Черный

25Поле скоростей в расчётной подобласти

Распределение температуры на плоскости

В контестном меню папки Слои создайте новый слой:

  • Тип слоя > Цветовые контуры
  • Объекты > Плоскость #0

В контекстном меню появившегося слоя присойте следующие параметры:

  • Название > Температура, °С
  • Переменная > Переменная > Температура
  • Диапазон:
    • Режим > Ручной:
    • Максимум > 100
    • Минимум > 0
  • Палитра > Отображение:
  • Включено > Да
  • Заголовок > Да
  • Стиль > Стиль 1
  • Цвет > Черный

26Поле температуры в расчётной подобласти

Распределение температуры на импортированном объекте

В контестном меню папки Слои создайте новый слой:

  • Тип слоя > Цветовые контуры
  • Объекты > Импортированный объект #0

В контекстном меню появившегося слоя присвойте следующие параметры:

  • Название > Тстенка, °С
  • Переменная > Переменная > Температура
  • Диапазон:
    • Режим > Ручной:
    • Максимум > 100
    • Минимум > 90
  • Палитра > Отображение:
  • Включено > Да
  • Заголовок > Да
  • Стиль > Стиль 1
  • Цвет > Черный

27Распределение температуры на поверхности бруска


Запуск и останов расчёта

Запуск проекта на расчет производится из Пре-Постпроцессора.  Описание стандартного запуска совместного расчёта описано в учебнике.

В Abaqus настроена остановка через 20 секунд секунд моделируемого времени. Кроме того, проект можно остановить с помощью кнопки Остановить расчет и возобновить расчет после внесения изменений в проект.

Подробнее о запуске совместного расчёта на продолжение читайте в статье из блога. 

 

 

Об авторе
Владимир Каширин
Author: Владимир Каширин
Инженер технической поддержки
Экспертиза в областях: FSI, прочность, физика металлов, АЭС