Численное решение краевых задач. Учебно-методическое пособие
.pdf
Пример неустойчивого расчета ( 0,55)
МКО (ПАКЕТ ANSYS)
1. Создание проекта (программа Workbench). После запуска Workbench раскройте в «Toolbox» закладку «Analyses Systems» и выберите «Fluid Flow (Fluent)» (двойной клик «мыши» либо перетаскивание на поле «Project Schematic»). Сохраните проект (кнопка «Save») в специально созданной рабочей папке. Путь к рабочей папке не должен содержать букв кириллицы.
2. Создание геометрической модели расчетной области (DesignModeler). Выполните двойной клик «мыши» по пункту «Geometry» в схеме проекта. При первом запуске выберите единицу измерения длины
(«Meter» по умолчанию). Далее создайте на плоскости xy чертеж: вы-
делите «XYPlane», нажмите кнопку «New Sketch» ; на закладке
«Scetching» с помощью инструментов «Draw»-> «Rectangle» и «Dimensions»->«Horizontal», «Vertical» начертите прямоугольную об-
ласть длиной l (0 x l ) и высотой l / 400 (0 y l /400 ). (Для тестовой задачи l 8 м.) Затем переключитесь на закладку «Modeling»,
21
выберите пункт меню «Concept»->«Surfaces From Scetches» и нажмите
кнопку |
. Сохраните проект и выйдите из DesignModeler. |
3. Генерация расчетной сетки и задание границ (Meshing). Выполните двойной клик «мыши» по пункту «Mesh» в схеме проекта. В дре-
вовидном списке выберите «Mesh» (ПКМ) -> «Insert» -> «Sizing». Выде-
лите нижнюю и верхнюю горизонтальные границы области (при этом соответствующий фильтр выделения объектов должен быть активным:
) и в окне свойств нажмите «Apply». Также в окне
свойств задайте «Type»= «Number of Divisions», «Number of Divisions» =200,«Behavior»=«Hard».Аналогичныедействиявыполнитедлялевой и правой вертикальных границ, причем задайте число ячеек «Number of Divisions» = 1. Далее выполните «Mesh»-> «Insert»-> «Mapped Face Meshing»ивсвойствахукажитеобластьдля«Geometry».Затемнажмите
.Будетсгенерированаконечно-объемнаясеткасячей-
ками прямоугольной формы. Теперь создайте граничные поверхности: выделяя граничную линию, вызывайте контекстное меню (ПКМ) -> «Create Named Selection». Левая граница – «left», правая – «right», ниж-
няя – «bot», верхняя – «top». Перед сохранением проекта выполните
.
4. Задание физической модели, начальных и граничных условий, параметров численного алгоритма (Fluent). Запуск препроцессора осуществляется с помощью кнопки «Setup» в дереве проекта.
Впункте «General» раздела «Solution Setup» выберите опцию «Time»= «Transient» для решения нестационарной задачи.
Впункте «Models» подключите уравнение энергии «Energy – On».
Впункте «Materials» выделите «Aluminum» и нажмите кнопку
«Create/Edit». В окне «Create/Edit Materials» введите числовые значения
плотности , теплоемкости cp и коэффициента теплопроводности
материала, такие чтобы обеспечить требуемое значение коэффициента температуропроводности a /( cp ). Например, для тестовой задачи
«Density (kg/m3)» = «101.2», «Cp (Specific Heat) (j/kg – k)» = «1», «Thermal Conductivity (w/m-k)» = «202.4». Затем нажмите «Change/Create» и «Close». (Указанный способ задания свойств материала корректен только при решении первой краевой задачи без источника тепла.)
В пункте «Cell Zone Conditions» установите тип «Type» = «solid» для зоны «surface_body».
22
Впункте «Boundary Conditions» выберите в списке зон «Zone» ле-
вую границу «left» и нажмите «Edit…». На закладке «Thermal» окна
«Wall» выберите «Temperature» в «Thermal Conditions», в поле справа
«Temperature(k)»задайтезначениетемпературы(«300»длятестовойзадачи) и нажмите «OK». Аналогично задайте температуру на правой границе «right» («300» для тестовой задачи).
Впункте «Solution Methods» раздела «Solution» выберите неявную схему во времени второго порядка точности: «Transient Formulation» = «Second Order Implicit».
Впункте «Monitors» раздела «Solution» выделите «Residuals» в списке «Residuals, Statistics and Force Monitors» и нажмите кнопку «Edit…». В окне «Residual Monitors» задайте абсолютную невязку «1e- 7» для уравнения энергии «energy» и нажмите «OK».
Впункте «Solution Initialization» выберите «Standard Initialization» и
нажмите кнопку «Initialize». Будут заданы однородные начальные усло-
вия T t 0 T0 . После этого появляется возможность задания неоднород-
ных начальных условий. Выберите «Define» -> «Custom Field Functions…». В окне «Custom Field Function Calculator» с помощью кнопок калькуляторавведитевполе«Definition»следующеевыражение(дляте-
стовой задачи): «300+sin(3*pi*». Затем в списке «Field Functions» выберите «Mesh», «X-Coordinate» и нажмите на кнопку «Select». Нажмите кнопку «)» калькулятора, выражение для функции примет вид
«300+sin(3*pi*x)». В поле «New Function Name» введите «temp0» и
нажмите кнопки «Define» и «Close». Функция, описывающая неоднородные начальные условия T t 0 T0 (x), создана. Теперь опреде-
ляем регион, в котором эти условия будут заданы, в нашем случае – это вся расчетная область. Выберите «Adapt» -> «Region» и в окне «Region Adaption» задайте: «Options» = «Inside», прямоугольную форму обла-
сти – «Shapes» = «Quad», размеры вмещающей области (в тестовой за-
даче «X min (m)»= «0», «X max (m)»= «8», «Y min (m)» = «0», «Y max (m)» = «0.1»). Далее нажмите кнопку «Mark», втекстовом окне появится сообщение «200 cells marked for refinement, 0 cells marked for coarsening». Проконтролируйте правильность задания региона с помощью кнопки «Manage…» и последующего нажатия кнопки «Display» в окне «Manage Adaption Registers». Закройте открытые окна с помощью кнопок «Close». Возвратитесь к пункту «Solution Initialization» и
нажмите на кнопку «Patch…». В окне «Patch» выделите «Temperature» в
23
списке «Variable», «hexahedron-r0» в списке «Registers to Patch», активируйте «Use Field Function» и выберите «temp0» в списке «Field Function». Нажмите кнопки «Patch» и «Close». Обратите внимание, созданный регистр «hexahedron-r0» активен только до следующей инициализации – нажатия на кнопку «Initialize».
С помощью «Define» -> «Custom Field Functions…» cоздайте функ-
цию избыточной температуры «tizb» с выражением «temperature-300».
В пункте «Calculation Activities»: введите «100» в поле «Autosave Every (Time Steps)». Промежуточные файлы данных будут сохраняться в каталоге «…\dp0\FFF\Fluent». Нажмите на кнопку «Create/Edit» поля «Solution Animations». В окне «Solution Animation» задайте «Animation Sequences» = «1», «Every» = «1», в списке «When» выберите «Time Step» и нажмите кнопку «Define…». В окне «Animation Sequence» задайте но-
мер графического окна для вывода анимации «Window»= «2» и нажмите кнопку «Set», затем в списке «Display Type» выберите «XY Plot» и нажмите на кнопку «Edit…». В окне «Solution XY Plot» выберите в списке «Y Axis Function» «Custom Field Functions…» и «tizb». В списке
«Surfaces» выберите нижнюю «bot» или верхнюю «top» границу. Установите двухоконный режим графического окна.
Нажмите кнопки «Plot» и «Close». В окне «2» появится начальное распределение избыточной температуры. В открытых окнах нажмите кнопки «OK».
В пункте «Run Calculation» введите шаг интегрирования по времени
«1e-4» в поле «Time Step Size (s)», число шагов («300» для тестовой задачи) в поле «Number of Time Steps».
Сохраните проект: «File» -> «Save Project».
5.Выполнение расчета (Fluent). Нажмите на кнопку «Calculate».
Втекстовом окнебудет выдана история невязок решаемой системы уравнений, в графическом окне «1» – история невязки уравнения энергии,
24
вграфическомокне«2»– анимационнаяпоследовательностьраспределений избыточной температуры.
6. Анализ результатов (Fluent). В пункте «Graphics and Animations» раздела «Results» выберите «Solution Animation Playback» в списке «Animations» и нажмите кнопку «Set Up…». В окне «Playback»выберите:
«Playback Mode» = «Auto Repeat» и нажмите кнопку запуска |
. В гра- |
фическом окне будет еще воспроизведена анимационная последовательность. Для ее сохранения в видеофайле выберите «MPEG» в списке
«Write/Record Format» и нажмите кнопку «Write». Созданный mpeg-
файл будет помещен в каталог «…\dp0\FFF\Fluent».
Загрузите данные, относящиеся к 100 шагу по времени: «File» -> «Import» -> «Data» и откройте файл «FFF-**-00100.dat.gz», где «**» –
номер запуска.
В пункте «Plots» раздела «Results» выберите «XY Plot» в списке «Plots» и нажмите кнопку «Set Up…». Выберите: направление построе-
ния графика «Plot Direction X» = «1»; в списке «Y Axis Function» – «Custom Field Functions…», «tizb»; в списке «X Axis Function» – «Direction Vector»; в списке «Surfaces» – «bot» или «top». Нажмите кнопку «Plot». Поменяйте способ отображения кривой с помощью кнопки «Curves…», последующего выбора из списка «Pattern» в появившемся окне «Curves – Solution XY Plot» соединения точек сплошными линиями «---» с установкой цвета «Color»= «background» и нажатия кно-
пок «Apply», «Close», а затем «Plot» в исходном окне.
Сохраните построенный график в виде jpeg-файла с помощью
кнопки «Save Picture» |
. Сохраните полученные данные в виде тек- |
стового файла с помощью опции «Write to File».
Проведите расчеты задачи вашего варианта для числа ячеек Nx 1
= 200, 400, 800 и практически оцените порядок точности используемой схемы.
Продемонстрируйте преподавателю записанный видеофайл временной истории.
С помощью МКР и МКО при Nx 401: для одного и того же момента времени постройте графики погрешности v uex приближенных
решений; для нескольких моментов времени постройте распределения избыточной температуры. Сравните результаты и сделайте выводы.
25
ВОПРОСЫ К РАЗДЕЛУ 2
1.Записать явную разностную схему для линейного неоднородного уравнения теплопроводности с граничным условием (ГУ) первого рода на левой границе и нелинейным ГУ третьего рода – на правой. Случай плоской симметрии.
2.Записать схему Дюфорта–Франкеля для линейного неоднородного уравнения диффузии с ГУ второго рода на левой границе и нелинейным ГУ первого рода – на правой. Случай плоской симметрии.
3.Записать неявную разностную схему для линейного неоднородного уравнения теплопроводности с граничным условием (ГУ) первого рода на левой границе и нелинейным ГУ третьего рода – на правой. Случай плоской симметрии.
4.Записать схему Кранка–Николсона для линейного неоднородного уравнения диффузии с ГУ второго рода на левой границе и нелинейным ГУ первого рода – на правой. Случай плоской симметрии.
5.Записать явную разностную схему для нелинейного однородного уравнения теплопроводности с ГУ третьего рода на левой границе и ГУ второго рода – на правой. Случай плоской симметрии.
6.Записать неявную разностную схему для нелинейного неоднородного уравнения диффузии с ГУ второго рода на левой границе и ГУ первого рода – на правой. Случай плоской симметрии.
7.Записать схему Дюфорта–Франкеля для нелинейного однородного уравнения теплопроводности с нелинейным ГУ первого рода на левой границе и ГУ третьего рода – на правой. Случай плоской симметрии.
8.Записать схему Кранка–Николсона для нелинейного неоднородного уравнения диффузии с ГУ третьего рода на левой границе и нелинейным ГУ третьего рода – на правой. Случай плоской симметрии.
9.Записать явную разностную схему для линейного неоднородного уравнения теплопроводности с граничным условием (ГУ) первого рода на левой границе и нелинейным ГУ третьего рода – на правой. Случай цилиндрической симметрии.
10.Записать схему Дюфорта–Франкеля для линейного неоднородного уравнения диффузии с ГУ второго рода на левой границе и нелинейным ГУ первого рода – на правой. Случай цилиндрической симметрии.
11.Записать неявную разностную схему для линейного неоднородного уравнения теплопроводности с граничным условием (ГУ) первого
26
рода на левой границе и нелинейным ГУ третьего рода – на правой. Случай цилиндрической симметрии.
12.Записать схему Кранка–Николсона для линейного неоднородного уравнения диффузии с ГУ второго рода на левой границе и нелинейным ГУ первого рода – на правой. Случай цилиндрической симметрии.
13.Записать явную разностную схему для нелинейного однородного уравнения теплопроводности с ГУ третьего рода на левой границе и ГУ второго рода – на правой. Случай цилиндрической симметрии.
14.Записать неявную разностную схему для нелинейного неоднородного уравнения диффузии с ГУ второго рода на левой границе и ГУ первого рода – на правой. Случай цилиндрической симметрии.
15.Записать схему Дюфорта–Франкеля для нелинейного однородного уравнения теплопроводности с нелинейным ГУ первого рода на левой границе и ГУ третьего рода – на правой. Случай цилиндрической симметрии.
16.Записать схему Кранка–Николсона для нелинейного неоднородного уравнения диффузии с ГУ третьего рода на левой границе и нелинейным ГУ третьего рода – на правой. Случай цилиндрической симметрии.
17.Записать явную разностную схему для линейного неоднородного уравнения теплопроводности с граничным условием (ГУ) первого рода на левой границе и нелинейным ГУ третьего рода – на правой. Случай сферической симметрии.
18.Записать схему Дюфорта–Франкеля для линейного неоднородного уравнения диффузии с ГУ второго рода на левой границе и нелинейным ГУ первого рода – на правой. Случай сферической симметрии.
19.Записать неявную разностную схему для линейного неоднородного уравнения теплопроводности с граничным условием (ГУ) первого рода на левой границе и нелинейным ГУ третьего рода – на правой. Случай сферической симметрии.
20.Записать схему Кранка–Николсона для линейного неоднородного уравнения диффузии с ГУ второго рода на левой границе и нелинейным ГУ первого рода – на правой. Случай сферической симметрии.
21.Записать явную разностную схему для нелинейного однородного уравнения теплопроводности с ГУ третьего рода на левой границе и ГУ второго рода – на правой. Случай сферической симметрии.
22.Записать неявную разностную схему для нелинейного неоднородного уравнения диффузии с ГУ второго рода на левой границе и ГУ первого рода – на правой. Случай сферической симметрии.
27
23.Записать схему Дюфорта–Франкеля для нелинейного однородного уравнения теплопроводности с нелинейным ГУ первого рода на левойграницеиГУтретьегорода–направой.Случайсферическойсим- метрии.
24.Записать схему Кранка–Николсона для нелинейного неоднородного уравнения диффузии с ГУ третьего рода на левой границе и нелинейным ГУ третьего рода – на правой. Случай сферической симметрии.
25.Что такое порядок аппроксимации схемы по времени и по пространству?
26.В чем состоит устойчивость разностной схемы?
28
3. ЧИСЛЕННОЕ РЕШЕНИЕ НАЧАЛЬНО-КРАЕВОЙ ЗАДАЧИ ДЛЯ УРАВНЕНИЯ ПЕРЕНОСА
ЦЕЛЬ РАБОТЫ
Получить навыки решения начально-краевой задачи для уравнения переноса методом конечных разностей с помощью собственной программы.
ЗАДАНИЕ
Методом конечных разностей решить начально-краевую задачу
u |
c |
u |
0, |
0 x X 1, |
0 t T , |
(1а) |
t |
|
x |
|
|
|
|
|
|
|
u(x,0) (x) , |
|
(1б) |
|
|
|
|
|
u(0,t) 1. |
|
(1в) |
Здесь c > 0 – скорость конвективного переноса; (x) – начальные дан-
ные:
гладкие
(x) cos x; |
(2а) |
||
с разрывом производной |
|
|
|
cos2 x, |
x 0,25, |
(2б) |
|
(x) |
x 0,25; |
||
0, |
|
||
|
|
|
|
|
29 |
|
|
разрывные
|
|
|
1, |
x 0,25, |
|
(2в) |
|||
|
|
|
(x) |
x 0,25. |
|
||||
|
|
|
0, |
|
|
||||
|
|
|
|
|
|
|
|
|
|
Задача (1) имеет точное решение |
|
|
|
|
|
||||
|
|
|
1, |
x ct, |
|
|
|
|
|
|
u |
|
|
|
|
|
|
(2г) |
|
|
ex |
(x,t) |
ct), |
x ct. |
|
||||
|
|
(x |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
При численном решении (1) использовать две схемы из (3)–(8) в со- |
|||||||||
ответствии с таблицей. |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Номер |
с |
|
Схемы |
|
Номер |
|
с |
Схемы |
|
варианта |
|
|
варианта |
|
|||||
|
|
|
|
|
|
|
|||
1 |
0,10 |
|
(3), (6) |
|
2 |
|
|
0,12 |
(4), (7) |
3 |
0,14 |
|
(5), (8) |
|
4 |
|
|
0,16 |
(3), (7) |
5 |
0,18 |
|
(4), (8) |
|
6 |
|
|
0,20 |
(5), (6) |
7 |
0,11 |
|
(5), (8) |
|
8 |
|
|
0,13 |
(3), (8) |
9 |
0,15 |
|
(3), (6) |
|
10 |
|
|
0,17 |
(4), (7) |
11 |
0,19 |
|
(5), (8) |
|
12 |
|
|
0,21 |
(3), (7) |
13 |
0,23 |
|
(4), (8) |
|
14 |
|
|
0,25 |
(5), (6) |
15 |
0,22 |
|
(5), (7) |
|
16 |
|
|
0,24 |
(5), (8) |
17 |
0,11 |
|
(3), (6) |
|
18 |
|
|
0,21 |
(4), (7) |
19 |
0,16 |
|
(5), (8) |
|
20 |
|
|
0,18 |
(3), (7) |
УКАЗАНИЯ
1. Для решения (1)–(2) применяются разностные схемы: «левый уголок» (явная)
vn 1 |
vn |
|
vn vn |
|
|
|
i |
i |
c |
i i 1 |
0; |
(3) |
|
h |
||||||
|
|
|
|
|||
Лакса (явная) |
|
|
|
|
|
|
vn 1 |
vn |
vn |
/2 |
|
vn |
vn |
|
|
i |
i 1 |
i 1 |
|
c |
i 1 |
i 1 |
0; |
(4) |
|
|
|
|
2h |
||||
|
|
|
|
|
|
|||
30
