Решение задачи теплообмена в связке со сторонним конечно-элементным пакетом позволяет оценить деформацию конструкции под воздействием внешних тепловых потоков. Увеличение точности решения уравнения теплопереноса в таком расчёте достигается учётом в КЭ пакете анизотропных свойств материала.
Рассмотрим задачу о деформации бруска, одна из граней которого нагревается до 100 °С.
В течение первого шага брусок полностью прогревается. Эта итерация считается только в Abaqus.
На втором шаге расчёта начинается уже совместное (в связке FlowVision – Abaqus) моделирование теплообмена между бруском и набегающим потоком. FlowVision считает параметры в набегающем потоке, который нагревается от стенок бруска; Abaqus производит расчёт теплопереноса и деформаций в твёрдом теле.
Для этого обучающего примера мы рассмотрим создание проектов в Abaqus и во FlowVision, а также настройку их взаимосвязи и запуска на расчёт. При использовании готовой модели BrickABQ.inp, раздел с подготовкой проекта Abaqus можно пропустить.
Подготовка проекта Abaqus
В этой части обучающего примера мы рассмотрим подготовку проекта в Abaqus, которая включает в себя:
- Создание геометрической модели
- Задание характеристик материала
- Создание сборки
- Настройку шага анализа
- Построение сетки
- Задание поверхности обмена в Abaqus
- Задание граничных условий
- Генерацию inp файла
Создание геометрической модели в 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
В графическом рабочем окне, используя инструмент Create Isolated Point, создайте точки контура бруска.
Введите координаты точек: [-0.003,0.03], [-0.003,-0.01], [0.098,0.03], [0.098,-0.01].
С помощью инструмента Create Lines Connected постройте контур детали. Для этого, нажимая на Done (колесо мыши), последовательно соедините точки линиями.
Чертёж модели в графическом окне
Далее в окне Edit Base Extrusion задайте толщину бруска. В поле Depth введите значение 20e-3 и нажмите ОК.
Задание толщины бруска в окне Edit Base Extrusion
Создание характеристик материала
Перейдите в модуль 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
Нажмите на Assign Section.
В диалоговом окне Edit Section Assignment присвойте построенное сечение ранее созданной детали: выделите весь брусок (он подсветится красным цветом) и нажмите Done. В открывшемся окне нажмите ОК.
Задание для детали свойств стального сечения в окне Edit Section Assignment
Создание сборки
Перейдите к модулю Assembly. Для создания сборочной единицы нажмите на Create Instance.
Откроется окно со списком созданных деталей, в котором выберите деталь Brick и задайте Instance type = Dependent. После того, как в рабочей области появится созданная деталь, нажмите ОК.
Создание сборки из детали Brick
Настройка шага анализа
Численное моделирование будет состоять из двух этапов: предварительного прогрева бруска (расчёт только в Abaqus) и совместного FSI расчёта (FlowVision - Abaqus).
Предварительный расчёт
Чтобы определить параметры предрасчёта, перейдите в модуль Step, нажмите на Create Step. В диалоговом окне Create Step задайте:
- Name = Preload
- Procedure Type = General
- В списке ниже выберите Coupled temp-displacement и нажмите Continue.
Создание шага предрасчёта в окне Create Step
Откроется окно 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
В окне Edit Step во вкладке Basic задайте следующие настройки:
- Response: Steady-state
- Time Period = 20
- Nlgeom = Off
Задание основных настроек шага FSI расчёта
Во вкладке Incrementation задайте следующие параметры:
-
- Maximum numbers of increments = 100000 (максимальное число инкрементов)
- Increment size > Initial = 0.0001 (начальный инкремент)
- Increment size > Minimum = 1E-10 (минимальный инкремент)
- Maximum increment size > Specify = 10 (максимальный инкремент)
Задание настроек инкрементов шага FSI расчёта
Построение сетки
Перейдите к модулю Mesh и выберите Object: Part.
С помощью инструмента Seed part Instance разбейте брусок на элементы.
В диалоговое окне Global Seeds укажите величину параметра Approximate global size = 0.0015 и нажмите ОК. Теперь, используя Seed edges, задайте 1 элемент вдоль оси Z на всех гранях бруска: чтобы обеспечить плоскую постановку задачи.
Разбиение модели бруска на расчётные элементы
Для данного типа анализа необходимо выбрать соответсвующий тип элементов: С3В8T. Нажмите на Assign Element Type и выберите следующие настройки:
- Element Library: Standard;
- Geometric Order: Linear;
- Family Coupled Temperature-Displacement.
Настройки типа элементов анализа
Для запуска генерации сетки нажмите на Mesh Part Instance и затем нажмите на Yes.
Расчётная сетка в объёме бруска
Задание поверхности обмена в Abaqus
Следующим важным шагом в создании модели для совместного расчета является задание поверхностей обмена - интерфейсных поверхностей между Abaqus и FlowVision. Abaqus моделирует деформации и тепловой поток внутри бруска и экспортирует температуру с узлов сетки, располагающихся на поверхностях обмена, во FlowVision.
Чтобы задать поверхность обмена, выполните следующие действия:
В дереве модели сделайте двойной щелчок на Assembly > Surfaces (или выделите и примените команду Create). Откроется диалоговое окно Create Surface, задайте в нем:
- Name = DC-SURF (имя поверхности обмена)
- Type = Geometry
Создание поверхностей обмена
Необходимо выделить весь брусок и нажать Done.
Выделение поверхностей обмена Abaqus-FlowVision на модели бруска
Задание граничных условий
В данной постановке задачи будут использоваться: ГУ ограничивающее перемещение бруса и ГУ нагрева.
Граничное условие Fix
Перейдите в модуль Load. Выберите Create Boundary condition и создайте граничное условие на нижней поверхности бруска со следующими параметрами:
- Name = FIX
- Step = Preload
- Category = Mechanical
- Types for Selected Step = Symmetry/Antisymmetry/Encastre
- Нажмите Continue.
Создание граничного условия fix
В рабочем пространстве выберите нижнюю поверхность бруска и нажмите Done.
В открывшемся диалоговом окне Edit Boundary Condition выберите для плоскости бруска тип ГУ , ограничивающий перемещения данной плоскости по всем степеням свободы: ENCASTRE (U1=U2=U3=UR1=UR2=UR3=0).
Задание свойств граничного условия fix
Граничное условие temperature
Cоздайте новое граничное условие на той же поверхности бруска со следующими параметрами:
- Name = Temperature
- Step = Preload
- Category = Other
- Types for Selected Step = Temperature
- Нажмите Continue.
Создание граничного условия tempetarure
В рабочем пространстве выберите нижнюю поверхность бруска и нажмите Done.
В открывшемся диалоговом окне Edit Boundary Condition введите значение Magnitude: 100.
Задание параметров на ГУ tempetarure
Генерация 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 состоит из:
- Подготовки геометрии
- Задание физической модели
- Создание модификатора "Подвижное тело"
- Задания граничных условий
- Построения расчётной сетки
- Определения параметров расчёта FV
- Определение параметров совместного расчёта
Подготовка Геометрии
Требования к проекту:
- Во FlowVision должна быть загружена геометрия деформируемого тела, полностью соответствующая деформируемой геометрии в проекте Abaqus.
- Геометрия деформируемого тела, загружаемая во 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. В контекствном меню объекта Скомпонованные подобласти выберите пункт Использовать как геометрию региона.
Геометрия Региона во 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) > Значение в ячейке рядом со стенкой
- Цвет > Желтый
Установите граничные условия в соответствии с картинкой ниже.
Схема расположения граничных условий в расчётной подобласти
Расчетная сетка
Создание дополнительной подобласти для двумерной расчетной сетки
При моделировании двумерного течения с адаптацией, по третьему направлению могут возникнуть лишние ячейки. Это приводит к существенному увеличению времени расчёта.
Чтобы избежать такой ситуации необходимо создавать дополнительную подобласть на отдаленном расстоянии от плоскости симметрии. Тогда при адаптации, вдоль третьего направления всегда будет только одна расчётная ячейка.
Чтобы создать дополнительную нерасчетную подобласть, необходимо:
Создать Параллелепипед в папке Объекты в Препроцессоре.
В окне свойств Параллелепипеда #1 задать:
- Расположение:
- X = 0
- Y = 2
- Z = 0
- Размер
- X = 0.01
- Y = 0.01
- Z = 01
В контекстном меню Параллелепипеда #1 выбрать Встроить в основную геометрию.
Начальная сетка
Задайте в окне свойств Начальной сетки:
- nX = 120
- nY = 1
- nZ = 40
Создание адаптации
Необходимо постепенно адаптировать расчетную сетку, увеличивая точность в приграничном слое в процессе расчета. В нашем случае сетка адаптируется от 1-го до 3-го уровня в течение 300 шагов. Каждые 100 шагов включается новый уровень адаптации.
Для создания адаптации:
- Создайте элемент Расчетная сетка > Адаптация > Адаптация #0
- Добавьте ГУ с именем Брусок в качестве Объекта для Адаптации #0
- В окне свойств объекта Адаптация #0 задайте Макс. уровень N с помощью таблицы. В качестве переменной необходимо выбрать Интегральные > Встроенные характеристики > Номер текущего шага.
Табличное задание адаптации по шагам
В данном примере применяется адаптация с сохранением толщины адаптируемого слоя. Слои необходимо также задавать с помощью таблицы. При включении нового уровня адаптации, граница адаптации 1-го уровня останется неизменной. А все последующие адаптации будут создаваться внутри 1-го уровня, занимая необходимое количество ячеек.
В качестве переменной используется Номер текущего шага:
- Слоев уровня N:
- Слоев уровня N-1
- Слоев уровня N-2
Расчётная сетка с использованием адаптации поверхности бруска
Параметры расчета 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
В контекстном меню появившегося слоя присвойте следующие параметры:
- Название > Сечение расчётной сетки
- Отображение > Метод > Линии
Распределение скоростей
В контекстном меню папки Слои создайте новый слой:
- Тип слоя > Векторы
- Объекты > Плоскость #0
В контекстном меню появившегося слоя присвойте следующие параметры:
- Название > Скорость, м/с
- Переменная > На регулярной сетке > Да
- Сетка:
- Размер 1 > 70
- Размер 2 > 40
- Масштабирование
- Режим > Ручной
- Максимум > 5
- Опорная длина > 0.005
- Раскраска
- Переменная:
- Переменная > Скорость
- Диапазон:
- Режим > Ручной
- Максимум > 5
- Минимум > 0
- Палитра > Отображение:
- Включено > Да
- Заголовок > Да
- Стиль > Стиль 1
- Цвет > Черный
- Переменная:
Поле скоростей в расчётной подобласти
Распределение температуры на плоскости
В контекстном меню папки Слои создайте новый слой:
- Тип слоя > Цветовые контуры
- Объекты > Плоскость #0
В контекстном меню появившегося слоя присвойте следующие параметры:
- Название > Температура, °С
- Переменная > Переменная > Температура
- Диапазон:
- Режим > Ручной:
- Максимум > 100
- Минимум > 0
- Палитра > Отображение:
- Включено > Да
- Заголовок > Да
- Стиль > Стиль 1
- Цвет > Черный
Поле температуры в расчётной подобласти
Распределение температуры на импортированном объекте
В контекстном меню папки Слои создайте новый слой:
- Тип слоя > Цветовые контуры
- Объекты > Импортированный объект #0
В контекстном меню появившегося слоя присвойте следующие параметры:
- Название > Тстенка, °С
- Переменная > Переменная > Температура
- Диапазон:
- Режим > Ручной:
- Максимум > 100
- Минимум > 90
- Палитра > Отображение:
- Включено > Да
- Заголовок > Да
- Стиль > Стиль 1
- Цвет > Черный
Распределение температуры на поверхности бруска
Запуск и останов расчёта
Запуск проекта на расчет производится из Пре-Постпроцессора. Описание стандартного запуска совместного расчёта описано в учебнике.
В Abaqus настроена остановка через 20 секунд секунд моделируемого времени. Кроме того, проект можно остановить с помощью кнопки Остановить расчет и возобновить расчет после внесения изменений в проект.
Подробнее о запуске совместного расчёта на продолжение читайте в статье из блога.