<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://test.uimech.org" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Институт механики им. Р.Р.Мавлютова УНЦ РАН - Лаборатория МТП</title>
 <link>http://test.uimech.org/taxonomy/term/15/0</link>
 <description>Лаборатория «Моделирование технологических процессов»</description>
 <language>ru</language>
<item>
 <title>Моделирование режимов работы магистральных нефтепроводов.</title>
 <link>http://test.uimech.org/node/280</link>
 <description>&lt;p&gt;Важным звеном топливно-энергетического комплекса России являются магистральные нефтепроводы (МН). Одной из сложных задач в процессе эксплуатации МН является определение оптимальных режимов работы насосных агрегатов, с точки зрения минимума затрат электроэнергии в фактическом или денежном выражении. Сложность задачи заключается в большом объеме возможных режимов работ, зависящих от многих параметров, таких как: физико-химические свойства нефти, схемы работ, состояние и количество находящегося в работе насосно-силового оборудования. Так для примера, для МН работающим по схеме «из насоса в насос» и включающего в технологический участок («от емкости до емкости») шесть нефтеперекачивающих станций (НПС) количество возможных режимов работы составляет несколько сот тысяч. Определить из этого числа ряд оптимальных довольно сложная задача. Проблема усугубляется технологическими особенностями процесса эксплуатации МН. К ним относятся: возможные ограничения давлений по трассе МН, возможность работы на разных технологических схемах, временные ограничения в работе насосно-силового оборудования находящегося в ремонте, ограничения по объемам перекачки, изменение допустимых давлений на НПС, большая протяженность МН и т.д. Например ОАО «АК «Транснефть» эксплуатирует 46800 км магистральных нефтепроводов диаметром от 420 до 1220 мм, 395 нефтеперекачивающих станций, 866 резервуаров емкостью 12,7 млн куб.м [1].&lt;/p&gt;
</description>
 <category domain="http://test.uimech.org/taxonomy/term/15">Лаборатория МТП</category>
 <category domain="http://test.uimech.org/taxonomy/term/30">Лукин С. В.</category>
 <category domain="http://test.uimech.org/taxonomy/term/3">Публикации</category>
 <pubDate>Thu, 13 Oct 2011 11:25:38 +0600</pubDate>
 <dc:creator>Serj</dc:creator>
 <guid isPermaLink="false">280 at http://test.uimech.org</guid>
</item>
<item>
 <title>Определение напряженно-деформированного состояния пластины с отверстием</title>
 <link>http://test.uimech.org/node/255</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://ru.uimech.org/people/lukin#Id_OpenFOAM001&quot;&gt;Первая страница&lt;/a&gt;&lt;br /&gt;
В данной статье описывается расчет напряженно-деформированного состояния линейно упругой пластины с отверстием. Рассматривается стационарное состояние квадратной пластины со стороной 4 м и отверстием посередине радиусом 0,5 м. К левой и правой сторонам приложены растягивающие напряжения   &amp;sigma;=10 кПа, поскольку задача имеет две оси симметрии, то рассматривается только четвертая часть. Схема показана на рис. 3.1. Расчетная область заштрихована.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/files/files/lukin/3_1.jpg&quot; width=&quot;691&quot; height=&quot;407&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
Рисунок 3.1. Геометрия плоскости с отверстием.&lt;/p&gt;
&lt;p&gt;В данном задаче предполагаем что напряжения действующие в направлении z являются несущественными. Следовательно задача становится двумерной. Постановка задачи в плоском напряженном состоянии применяется при исследовании тонких пластин. Есть точное решение для бесконечной полуплоскости с отверстием. Выражение для напряжений по оси х имеет вид:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f3_1.jpg&quot; width=&quot;416&quot; height=&quot;112&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Рисунок 3.1.&lt;/u&gt; Геометрия плоскости с отверстием.&lt;/b&gt;&lt;br /&gt;
Результаты моделирования будут сравниваться с этим решением.&lt;/p&gt;
&lt;h3&gt;Сетка&lt;br /&gt;
&lt;/h3&gt;
&lt;p&gt;Расчетная сетка состоит из пяти блоков. Как уже отмечалось в задаче о каверне. Сетка всегда является 3хмерной. Разметка приведена на рис. 3.2:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/3_2.jpg&quot; width=&quot;598&quot; height=&quot;507&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
Пользователю необходимо перейти в папку &lt;i&gt;plateHole &lt;/i&gt;в каталоге &lt;i&gt;$FOAM_RUN/tutorials/stressAnalysis/solidDisplacementFoam&lt;/i&gt;  и открыть файл &lt;i&gt;constant/polyMesh/blockMeshDict&lt;/i&gt;. Он содержит следующий текст:&lt;br /&gt;
&lt;i&gt;17  convertToMeters 1;&lt;br /&gt;
18&lt;br /&gt;
19  vertices&lt;br /&gt;
20  (&lt;br /&gt;
21      (0.5 0 0)&lt;br /&gt;
22      (1 0 0)&lt;br /&gt;
23      (2 0 0)&lt;br /&gt;
24      (2 0.707107 0)&lt;br /&gt;
25      (0.707107 0.707107 0)&lt;br /&gt;
26      (0.353553 0.353553 0)&lt;br /&gt;
27      (2 2 0)&lt;br /&gt;
28      (0.707107 2 0)&lt;br /&gt;
29      (0 2 0)&lt;br /&gt;
30      (0 1 0)&lt;br /&gt;
31      (0 0.5 0)&lt;br /&gt;
32      (0.5 0 0.5)&lt;br /&gt;
33      (1 0 0.5)&lt;br /&gt;
34      (2 0 0.5)&lt;br /&gt;
35      (2 0.707107 0.5)&lt;br /&gt;
36      (0.707107 0.707107 0.5)&lt;br /&gt;
37      (0.353553 0.353553 0.5)&lt;br /&gt;
38      (2 2 0.5)&lt;br /&gt;
39      (0.707107 2 0.5)&lt;br /&gt;
40      (0 2 0.5)&lt;br /&gt;
41      (0 1 0.5)&lt;br /&gt;
42      (0 0.5 0.5)&lt;br /&gt;
43  ); &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Пять расчетных блоков.&lt;br /&gt;
&lt;i&gt;45  blocks&lt;br /&gt;
46  (&lt;br /&gt;
47      hex (5 4 9 10 16 15 20 21) (10 10 1) simpleGrading (1 1 1)&lt;br /&gt;
48      hex (0 1 4 5 11 12 15 16) (10 10 1) simpleGrading (1 1 1)&lt;br /&gt;
49      hex (1 2 3 4 12 13 14 15) (20 10 1) simpleGrading (1 1 1)&lt;br /&gt;
50      hex (4 3 6 7 15 14 17 18) (20 20 1) simpleGrading (1 1 1)&lt;br /&gt;
51      hex (9 4 7 8 20 15 18 19) (10 20 1) simpleGrading (1 1 1)&lt;br /&gt;
52  );&lt;br /&gt;
53&lt;br /&gt;
54  edges&lt;br /&gt;
55  (&lt;br /&gt;
56      arc 0 5 (0.469846 0.17101 0)&lt;br /&gt;
57      arc 5 10 (0.17101 0.469846 0)&lt;br /&gt;
58      arc 1 4 (0.939693 0.34202 0)&lt;br /&gt;
59      arc 4 9 (0.34202 0.939693 0)&lt;br /&gt;
60      arc 11 16 (0.469846 0.17101 0.5)&lt;br /&gt;
61      arc 16 21 (0.17101 0.469846 0.5)&lt;br /&gt;
62      arc 12 15 (0.939693 0.34202 0.5)&lt;br /&gt;
63      arc 15 20 (0.34202 0.939693 0.5)&lt;br /&gt;
64  );&lt;br /&gt;
65&lt;br /&gt;
66  patches&lt;br /&gt;
67  (&lt;br /&gt;
68      symmetryPlane left&lt;br /&gt;
69      (&lt;br /&gt;
70          (8 9 20 19)&lt;br /&gt;
71          (9 10 21 20)&lt;br /&gt;
72      )&lt;br /&gt;
73      patch right&lt;br /&gt;
74      (&lt;br /&gt;
75          (2 3 14 13)&lt;br /&gt;
76          (3 6 17 14)&lt;br /&gt;
77      )&lt;br /&gt;
78      symmetryPlane down&lt;br /&gt;
79      (&lt;br /&gt;
80          (0 1 12 11)&lt;br /&gt;
81          (1 2 13 12)&lt;br /&gt;
82      )&lt;br /&gt;
83      patch up&lt;br /&gt;
84      (&lt;br /&gt;
85          (7 8 19 18)&lt;br /&gt;
86          (6 7 18 17)&lt;br /&gt;
87      )&lt;br /&gt;
88      patch hole&lt;br /&gt;
89      (&lt;br /&gt;
90          (10 5 16 21)&lt;br /&gt;
91          (5 0 11 16)&lt;br /&gt;
92      )&lt;br /&gt;
93      empty frontAndBack&lt;br /&gt;
94      (&lt;br /&gt;
95          (10 9 4 5)&lt;br /&gt;
96          (5 4 1 0)&lt;br /&gt;
97          (1 4 3 2)&lt;br /&gt;
98          (4 7 6 3)&lt;br /&gt;
99          (4 9 8 7)&lt;br /&gt;
100          (21 16 15 20)&lt;br /&gt;
101          (16 11 12 15)&lt;br /&gt;
102          (12 13 14 15)&lt;br /&gt;
103          (15 14 17 18)&lt;br /&gt;
104          (15 18 19 20)&lt;br /&gt;
105      )&lt;br /&gt;
106  );&lt;br /&gt;
107&lt;br /&gt;
108  mergePatchPairs&lt;br /&gt;
109  (&lt;br /&gt;
110  );&lt;/i&gt;&lt;br /&gt;
В данной задаче мы должны использовать ячейки с изогнутыми краями. Они определяются после ключевого слова &lt;i&gt;edges&lt;/i&gt;. Каждый элемент начинается с типа кривой, описанной позднее. Далее записываются координаты вершин дуги и координаты точек, через которые она проходит. В нашем случае это координаты середины дуги.&lt;br /&gt;
Не все расчетные блоки имеют одинаковую ориентацию. Как видно из рис. 3.2. направление для блока 0 отлично от ориентации для блока 4. То есть при задании сетки необходимо чтобы узлы ячеек на краях блоков совпадали.&lt;br /&gt;
Определяются 6 частей (патчей). По одному на каждую сторону плоскости. Одну на отверстие и одну на переднюю и заднюю сторону плоскости. Левая и нижняя части имеют симметричные плоскости, определенные при помощи команды &lt;i&gt;symmetryPlane&lt;/i&gt;. Часть &lt;i&gt;frontAndBack &lt;/i&gt;представляет собой плоскость, которая игнорируется в 2мерном случае. Типы расчетных частей и их геометрия подробно будут описаны позднее. Командой &lt;i&gt;blockMesh &lt;/i&gt;формируется сетка.&lt;/p&gt;
&lt;h3&gt;
Граничные и начальные условия &lt;/h3&gt;
&lt;p&gt;При отсутствии температурных напряжений начальные условия задаются в файле &lt;i&gt;D&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;17  dimensions      [0 1 0 0 0 0 0];&lt;br /&gt;
18&lt;br /&gt;
19  internalField   uniform (0 0 0);&lt;br /&gt;
20&lt;br /&gt;
21  boundaryField&lt;br /&gt;
22  {&lt;br /&gt;
23      left&lt;br /&gt;
24      {&lt;br /&gt;
25          type            symmetryPlane;&lt;br /&gt;
26      }&lt;br /&gt;
27      right&lt;br /&gt;
28      {&lt;br /&gt;
29          type            tractionDisplacement;&lt;br /&gt;
30          traction        uniform ( 10000 0 0 );&lt;br /&gt;
31          pressure        uniform 0;&lt;br /&gt;
32          value           uniform (0 0 0);&lt;br /&gt;
33      }&lt;br /&gt;
34      down&lt;br /&gt;
35      {&lt;br /&gt;
36          type            symmetryPlane;&lt;br /&gt;
37      }&lt;br /&gt;
38      up&lt;br /&gt;
39      {&lt;br /&gt;
40          type            tractionDisplacement;&lt;br /&gt;
41          traction        uniform ( 0 0 0 );&lt;br /&gt;
42          pressure        uniform 0;&lt;br /&gt;
43          value           uniform (0 0 0);&lt;br /&gt;
44      }&lt;br /&gt;
45      hole&lt;br /&gt;
46      {&lt;br /&gt;
47          type            tractionDisplacement;&lt;br /&gt;
48          traction        uniform ( 0 0 0 );&lt;br /&gt;
49          pressure        uniform 0;&lt;br /&gt;
50          value           uniform (0 0 0);&lt;br /&gt;
51      }&lt;br /&gt;
52      frontAndBack&lt;br /&gt;
53      {&lt;br /&gt;
54          type            empty;&lt;br /&gt;
55      }&lt;br /&gt;
56  }&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
На левую  и нижнюю расчетные части ставятся симметричные граничные условия при помощи команды &lt;i&gt;symmetryPlane&lt;/i&gt;. Аналогично патч &lt;i&gt;frontAndBack &lt;/i&gt;объявляется пустым. Остальные граничные условия описываются типом &lt;i&gt;tractionDisplacement&lt;/i&gt;. Этот тип означает, что давление, нормальное к поверхности раздела, определяется как обычное напряжение взятое с отрицательным знаком. Поскольку напряжения на границе равны нулю, то и давление равно нулю. Для правого патча напряжение задаем следующим образом: (1е4 0 0) давление здесь также равно 0.&lt;/p&gt;
&lt;h3&gt;Физические свойства&lt;/h3&gt;
&lt;p&gt;Физические свойства устанавливаются в файле &lt;i&gt;mechanicalProperties  &lt;/i&gt;в папке &lt;i&gt;constant&lt;/i&gt;. Физические константы для данной задачи описаны в таблице 3.1.&lt;br /&gt;
Таблица 3.1.&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;Наименование&lt;/td&gt;
&lt;td&gt;Размерность&lt;/td&gt;
&lt;td&gt;Переменная&lt;/td&gt;
&lt;td&gt;Значение&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Плотность&lt;/td&gt;
&lt;td&gt;кг/м&lt;sup&gt;3&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;rho&lt;/td&gt;
&lt;td&gt;7854&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Модуль Юнга&lt;/td&gt;
&lt;td&gt;Па&lt;/td&gt;
&lt;td&gt;E&lt;/td&gt;
&lt;td&gt;2*10&lt;sup&gt;11&lt;/sup&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Коэффициент Пуассона&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;nu&lt;/td&gt;
&lt;td&gt;0.3&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;h3&gt;
Тепловые свойства&lt;/h3&gt;
&lt;p&gt;Температурное поле T представлено  в файле T в папке 0. Чтобы решить задачу с использованием температурных напряжений, необходимо установить переключатель thermalStress и положение on, в файле thermalProperties в папке constant. В таблице 3.2. показаны тепловые параметры стали.&lt;br /&gt;
Таблица 3.2. Тепловые характеристики  стали&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;Наименование&lt;/td&gt;
&lt;td&gt;Размерность&lt;/td&gt;
&lt;td&gt;Переменная&lt;/td&gt;
&lt;td&gt;Значение&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Удельная теплоемкость&lt;/td&gt;
&lt;td&gt;Дж*кг&lt;sup&gt;-1&lt;/sup&gt;*K&lt;sup&gt;-1&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;434&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Теплопроводность&lt;/td&gt;
&lt;td&gt;Вт*м&lt;sup&gt;-1&lt;/sup&gt;*K&lt;sup&gt;-1&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;k&lt;/td&gt;
&lt;td&gt;60.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Тепловой коэффициент расширения&lt;/td&gt;
&lt;td&gt;K&lt;sup&gt;-1&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;alpha&lt;/td&gt;
&lt;td&gt;1.1*10&lt;sup&gt;-5&lt;/sup&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;По умолчанию тепловое влияние не учитывается в расчете.&lt;br /&gt;
Управление выводом информации&lt;/p&gt;
&lt;p&gt;Параметры выходной информации (шаг по времени, начальное/ конечное время и тд) описано в файле &lt;i&gt;controlDict&lt;/i&gt;. Шаг по времени устанавливаем равным 1. Интервал записи в файл равным 20.&lt;/p&gt;
&lt;h3&gt;Дискретизация&lt;/h3&gt;
&lt;p&gt;Поскольку процесс стационарный, то пользователь должен указать команду &lt;i&gt;SteadyState &lt;/i&gt;в файле &lt;i&gt;fvSchemes&lt;/i&gt;. Уравнение движения, записанное в линейно-упругих напряжениях, включает в себя несколько членов, содержащих перемещения. Как правило, в методе конечных объемов используется метод Гаусса, которых во многих случаях дает хорошее приближение. В данном случае используется метод наименьших квадратов. Поэтому в файле &lt;i&gt;fvSchemes &lt;/i&gt;пользователю необходимо в строке &lt;i&gt;drad(T)&lt;/i&gt; указать командное слово &lt;i&gt;leastSquares&lt;/i&gt;. Таким образом должна получиться следующая запись файла &lt;i&gt;fvSchemes&lt;/i&gt;:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;18  d2dt2Schemes&lt;br /&gt;
19  {&lt;br /&gt;
20      default         steadyState;&lt;br /&gt;
21  }&lt;br /&gt;
22&lt;br /&gt;
23  gradSchemes&lt;br /&gt;
24  {&lt;br /&gt;
25      default         leastSquares;&lt;br /&gt;
26      grad(D)         leastSquares;&lt;br /&gt;
27      grad(T)         leastSquares;&lt;br /&gt;
28  }&lt;br /&gt;
29&lt;br /&gt;
30  divSchemes&lt;br /&gt;
31  {&lt;br /&gt;
32      default         none;&lt;br /&gt;
33      div(sigmaD)     Gauss linear;&lt;br /&gt;
34  }&lt;br /&gt;
35&lt;br /&gt;
36  laplacianSchemes&lt;br /&gt;
37  {&lt;br /&gt;
38      default         none;&lt;br /&gt;
39      laplacian(DD,D) Gauss linear corrected;&lt;br /&gt;
40      laplacian(DT,T) Gauss linear corrected;&lt;br /&gt;
41  }&lt;br /&gt;
42&lt;br /&gt;
43  interpolationSchemes&lt;br /&gt;
44  {&lt;br /&gt;
45      default         linear;&lt;br /&gt;
46  }&lt;br /&gt;
47&lt;br /&gt;
48  snGradSchemes&lt;br /&gt;
49  {&lt;br /&gt;
50      default         none;&lt;br /&gt;
51  }&lt;br /&gt;
52&lt;br /&gt;
53  fluxRequired&lt;br /&gt;
54  {&lt;br /&gt;
55      default         no;&lt;br /&gt;
56      D               yes;&lt;br /&gt;
57      T               no;&lt;br /&gt;
58  }&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Если открыть файл &lt;i&gt;fvSolution&lt;/i&gt;, то видно, что решателем для полей &lt;i&gt;D&lt;/i&gt; и &lt;i&gt;T&lt;/i&gt; является &lt;i&gt;GAMG&lt;/i&gt;. Здесь также появляются команды &lt;i&gt;tolerance &lt;/i&gt;и &lt;i&gt;relTol&lt;/i&gt;. Пока не очень понятно, что они означают. Кроме того появляется пункт:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;45  stressAnalysis&lt;br /&gt;
46  {&lt;br /&gt;
47      compactNormalStress yes;&lt;br /&gt;
48      nCorrectors     1;&lt;br /&gt;
49      D               1e-06;&lt;br /&gt;
50  }&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Он содержит команду &lt;i&gt;nCorrectors&lt;/i&gt;. Этой командой определяется число циклов для расчета системы уравнений. Поскольку шаг по времени равен 1, то значение в данном случае также равно единице. Число &lt;i&gt;D&lt;/i&gt;, определяется сходимость решения. То есть при достижении данного значения расчет для одной итерации прекращается.&lt;/p&gt;
&lt;h3&gt;
Запуск расчета&lt;/h3&gt;
&lt;p&gt;Запуск расчета производится командами:&lt;br /&gt;
&lt;b&gt;    cd $FOAM_RUN/tutorials/stressAnalysis/solidDisplacementFoam/plateHole&lt;br /&gt;
    solidDisplacementFoam &gt; log &amp;amp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Поскольку используется дополнительное расширение, то процесс счета можно просмотреть в файле &lt;i&gt;log &lt;/i&gt;в папке &lt;i&gt;plateHole&lt;/i&gt;. &lt;/p&gt;
&lt;h3&gt;Просмотр результата&lt;/h3&gt;
&lt;p&gt;Решатель &lt;i&gt;solidDisplacementFoam &lt;/i&gt;выводит результаты в виде симметричного тензорного поля sigma. Просмотреть результаты можно утилитой paraFoam. Прмиер расчета показан на рис.3.3.&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/3_3.jpg&quot; width=&quot;533&quot; height=&quot;407&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Рисунок 3.3.&lt;/u&gt; Пример расчета НДС пластины с отверстием&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Сравним результат с точным решением. Необходимые данные можно получить при помощи утилиты sampleDict в папке  system. Необходимые данные находятся на промежутке от (0.0, 0.5, 0.25) до (0.0, 2.0, 0.25). Сравнение графиков можно провести в &lt;i&gt;GnuPlot &lt;/i&gt;при помощи команды:&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
    plot [0.5:2] [0:] ’sets/100/leftPatch_sigmaxx.xy’,&lt;br /&gt;
        1e4*(1+(0.125/(x**2))+(0.09375/(x**4))) &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;«sets/100/leftPatch_sigmaxx.xy» содержит расчетные данные. Пример приведен ниже:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/3_4.jpg&quot; width=&quot;689&quot; height=&quot;425&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Рисунок 3.4. &lt;/u&gt;Сравнение расчета и точного решения.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Упражнения&lt;/b&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Увеличить число узлов сетки в 2 раза&lt;/li&gt;
&lt;li&gt;Используя неравномерное разбиение по граням расчетных частей увеличить число узлов вблизи отверстия в 2 раза. Разбиение провести таким образом, чтобы отношения между соседними ячейками не превышало 1,1.&lt;/li&gt;
&lt;li&gt;Оцените ошибку приближения к точному решению при изменении разбиения и размеров области (при неизменном размере отверстия).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Решения задачи в виде исполнимых файлов и описаний их приведены в моем блоге.&lt;/p&gt;
&lt;p&gt;По всем вопросам обращаться на e-mail: &lt;a href=&quot;mailto:serg@imech.anrb.ru&quot;&gt;serg@imech.anrb.ru&lt;/a&gt;&lt;/p&gt;
</description>
 <category domain="http://test.uimech.org/taxonomy/term/15">Лаборатория МТП</category>
 <category domain="http://test.uimech.org/taxonomy/term/30">Лукин С. В.</category>
 <pubDate>Tue, 08 Feb 2011 11:40:13 +0500</pubDate>
 <dc:creator>Serj</dc:creator>
 <guid isPermaLink="false">255 at http://test.uimech.org</guid>
</item>
<item>
 <title>Первый расчет (течение несжимаемой жидкости в каверне)</title>
 <link>http://test.uimech.org/node/253</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://ru.uimech.org/people/lukin#Id_OpenFOAM001&quot;&gt;Первая страница&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;В данной статье описывается расчет течения в каверне. Описание данного расчета приводится в &lt;a href=&quot;http://www.openfoam.com/docs/user/cavity.php#x5-40002.1&quot;&gt;главе 2&lt;/a&gt; руководства пользователя OpenFOAM 1.7.1. В каждой статье будет описываться задача: физическая постановка задачи, геометрия расчетной области, начальные и граничные условия, описание решаемых уравнений.&lt;br /&gt;
Все примеры находятся в обучающей директории OpenFOAM, которую можно создать на основе инсталляции программы следующими командами:&lt;br /&gt;
&lt;b&gt;mkdir –p $FOAM_RUN&lt;/b&gt;&lt;br /&gt;
где $FOAM_RUN – наименование папки, где будут храниться обучающие программы. Например, это может быть папка LinuxOpenFOAM-1.7.1 в директории OpenFOAM-1.7.1&lt;br /&gt;
Обучающие программы можно затем скопировать в эту папку с помощью команды:&lt;br /&gt;
&lt;b&gt;cp –r $FOAM_TUTORIALS/* $FOAM_RUN&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Течение несжимаемой жидкости в каверне.&lt;/h3&gt;
&lt;p&gt;Геометрия расчетной области показана на рис.2.1&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/2_1.jpg&quot; width=&quot;387&quot; height=&quot;394&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Рисунок 2.1:&lt;/u&gt; Геометрия расчетной области задачи&lt;/b&gt;&lt;br /&gt;
Область состоит из квадрата со стороной 0.1 м, 3 границы которого неподвижны, верхняя граница движется со скоростью Ux=1 м/с. Изучим возможные физические и расчетные случаи решения данной задачи.&lt;br /&gt;
Пользователь должен перейти в каталог cavity, командой:&lt;br /&gt;
&lt;b&gt;cd $FOAM _RUN/tutorials/incompressible/icoFoam/cavity&lt;/b&gt;&lt;br /&gt;
Исходные данные для каждой задачи в OpenFOAM хранятся в различных файлах. Для редактирования этих файлов можно использовать любой текстовый редактор, например Emacs, VI, Gedit, Кейт, Nedit и т.д..&lt;br /&gt;
В OpenFOAM используется 3мерная декартова система координат. Чтобы решать задачу в 2х измерениях необходимо задать «пустые» граничные условия в направлении z. Будем решать задачу в дверной постановке. Область делится равномерной сеткой размерности 20х20 Структура разбиения показана на рисунке 2.2:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/2_2.jpg&quot; width=&quot;401&quot; height=&quot;414&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Рисунок 2.2:&lt;/u&gt; Структура сетки.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Файл содержащий узлы сетки генерируется командой blockMesh. Входные параметры для команды находятся в папке Polymesh  в файле blockMeshDict. Которые состоит из следующих разделов:&lt;br /&gt;
Заголовок файла:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;1  /*--------------------------------*- C++ -*----------------------------------*\&lt;br /&gt;
2  | =========                 |                                                 |&lt;br /&gt;
3  | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |&lt;br /&gt;
4  |  \\    /   O peration     | Version:  1.7.1                                 |&lt;br /&gt;
5  |   \\  /    A nd           | Web:      &lt;a href=&quot;http://www.OpenFOAM.org&quot; title=&quot;www.OpenFOAM.org&quot;&gt;www.OpenFOAM.org&lt;/a&gt;                      |&lt;br /&gt;
6  |    \\/     M anipulation  |                                                 |&lt;br /&gt;
7  \*---------------------------------------------------------------------------*/&lt;br /&gt;
8  FoamFile&lt;br /&gt;
9  {&lt;br /&gt;
10      version     2.0;&lt;br /&gt;
11      format      ascii;&lt;br /&gt;
12      class       dictionary;&lt;br /&gt;
13      object      blockMeshDict;&lt;br /&gt;
14  }&lt;br /&gt;
15  // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Коэффициент масштабирования&lt;br /&gt;
&lt;i&gt;17  convertToMeters 0.1; &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Список координат вершин исследуемой области. На рис.2.2. они обозначены числами 0-7.&lt;br /&gt;
&lt;i&gt;19  vertices&lt;br /&gt;
20  (&lt;br /&gt;
21      (0 0 0)&lt;/i&gt; // Вершина с номером 0&lt;br /&gt;
&lt;i&gt;22      (1 0 0) &lt;/i&gt;// Вершина с номером 1&lt;br /&gt;
&lt;i&gt;23      (1 1 0)&lt;/i&gt; // Вершина с номером 2&lt;br /&gt;
&lt;i&gt;24      (0 1 0) &lt;/i&gt;// Вершина с номером 3&lt;br /&gt;
&lt;i&gt;25      (0 0 0.1)&lt;/i&gt; // Вершина с номером 4&lt;br /&gt;
&lt;i&gt;26      (1 0 0.1)&lt;/i&gt; // Вершина с номером 5&lt;br /&gt;
&lt;i&gt;27      (1 1 0.1)&lt;/i&gt; // Вершина с номером 6&lt;br /&gt;
&lt;i&gt;28      (0 1 0.1)&lt;/i&gt; // Вершина с номером 7&lt;br /&gt;
&lt;i&gt;29  );&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Список блоков, из которых состоит расчетная область. В данной задаче рассматриваем только один блок. Запись состоит из 3 частей. Первая часть состоит из номеров вершин данного блока. Эта часть всегда является шестигранником. Порядок этих номеров показан на рис. 2.2. Вторая запись показывает сколько точек разбиения задается в каждом направлении (направления x, y и z). В частности данная запись задает размерность задачи. Для более точного решения данной задачи можно заменить эту запись на следующую: (40 40 1). При этом шаг по времени   должен быть уменьшен в 2 раза (см.ниже). Третья запись задает коэффициент расширения ячейки для каждого направления в блоке. Есть два вида расширения: упрощенный &lt;i&gt;simpleGrading &lt;/i&gt;с 3мя параметрами (1, 2, 3), и сложный &lt;i&gt;edgeGrading &lt;/i&gt;с параметрами расширения для каждого ребра блока. Значение определяет отношение между начальной и конечной ячейкой на грани. То есть отношение первого интервал к последнему будет равно значению описанному в &lt;i&gt;simpleGrading  &lt;/i&gt;или &lt;i&gt;edgeGrading&lt;/i&gt;. Например, записи &lt;i&gt;simpleGrading (1 2 3)&lt;/i&gt; и &lt;i&gt;edgeGrading (1 1 1 1 2 2 2 2 3 3 3 3)&lt;/i&gt; будут равнозначными.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;31  blocks&lt;br /&gt;
32  (&lt;br /&gt;
33      hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1)&lt;br /&gt;
34  );&lt;/i&gt;&lt;br /&gt;
Края блоков. По умолчанию каждый край считается прямым. Поэтому в данном случае эта область пустая.&lt;br /&gt;
&lt;i&gt;36  edges&lt;br /&gt;
37  (&lt;br /&gt;
38  );&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;В секции &lt;i&gt;patches &lt;/i&gt;приведены участки сетки на которых задаются особые условия (граничные, начальные и тд.). В названии используется зарезервированное слово (patch, symmetryPlane, empty, wedge, cyclic, wall, processor) название участка сетки (патча) и его координаты. Описание зарезервированных слов будет приведено позже. Слово  wall используется для описания стены. В данном случае movingWall содержит координаты движущейся стенки, &lt;i&gt;fixedWalls &lt;/i&gt;координаты 3х неподвижных стенок. Координаты должны быть записаны в таком порядке, чтобы при направлении взгляда изнутри блока порядок вершин должен быть записан по часовой стрелке. Первая координата – любая.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;40  patches&lt;br /&gt;
41  (&lt;br /&gt;
42      wall movingWall&lt;br /&gt;
43      (&lt;br /&gt;
44          (3 7 6 2)&lt;br /&gt;
45      )&lt;br /&gt;
46      wall fixedWalls&lt;br /&gt;
47      (&lt;br /&gt;
48          (0 4 7 3)&lt;br /&gt;
49          (2 6 5 1)&lt;br /&gt;
50          (1 5 4 0)&lt;br /&gt;
51      )&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Здесь задаем пустые блоки. Слово &lt;i&gt;empty &lt;/i&gt;означает, что на таком блоке не должно быть никаких условий. В данном случае – это передняя и задняя стенки. Порядок записи вершин такой же как и в предыдущем случае.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;52      empty frontAndBack&lt;br /&gt;
53      (&lt;br /&gt;
54          (0 3 2 1)&lt;br /&gt;
55          (4 5 6 7)&lt;br /&gt;
56      )&lt;br /&gt;
57  );&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Сетка может состоять из более чем одного блока. В таком случае можно описать связь между этими двумя блоками в разделе mergePatchPairs. Подробнее данный раздел будет описан позже.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;59  mergePatchPairs&lt;br /&gt;
60  (&lt;br /&gt;
61  );&lt;br /&gt;
62&lt;br /&gt;
63  // ************************************************************************* //&lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;
&lt;p&gt;Граничные и начальные условия&lt;/h3&gt;
&lt;p&gt;По умолчанию программой OpenFOAM считается, что начальные условия начинаются с времени t=0. Поэтому файлы с начальными условиями хранятся в папке «0». Для нашей задачи папка 0 содержит два файла: давление «p» и скорость «U». Рассмотрим файл «p»:&lt;br /&gt;
Определяет размерность переменной. Размерность давления - м2/с2. Полное описание данного пункта будет приведено ниже. &lt;/p&gt;
&lt;p&gt;&lt;i&gt;17  dimensions      [0 2 -2 0 0 0 0]; &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Задание поля давления. &lt;i&gt;uniform &lt;/i&gt;- поле давления однородно и равно 0 (в данном случае). В данном случае рассматривается изменение давления. &lt;i&gt;nonuniform &lt;/i&gt;– значения задаются в каждой точке. Полное описание данного пункта будет приведено ниже.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
19  internalField   uniform 0; &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Здесь описываются все граничные условия для переменных приведённых в файле &lt;i&gt;blockMeshDict&lt;/i&gt;. Данный раздел также имеет сложный характер и будет описан ниже. Для рассматриваемой задачи граничные условия описываем равенством нулю градиента давления – &lt;i&gt;zeroGradient&lt;/i&gt;.&lt;br /&gt;
&lt;i&gt;21  boundaryField&lt;br /&gt;
22  {&lt;br /&gt;
23      movingWall&lt;br /&gt;
24      {&lt;br /&gt;
25          type            zeroGradient;&lt;br /&gt;
26      }&lt;br /&gt;
27&lt;br /&gt;
28      fixedWalls&lt;br /&gt;
29      {&lt;br /&gt;
30          type            zeroGradient;&lt;br /&gt;
31      } &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Поскольку передняя и задняя стенки не участвуют в расчете их оставляем пустыми.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;33      frontAndBack&lt;br /&gt;
34      {&lt;br /&gt;
35          type            empty;&lt;br /&gt;
36      }&lt;br /&gt;
37  }&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Аналогично описываются значения для скорости в файле «U»:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;17 dimensions      [0 1 -1 0 0 0 0];&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Поскольку скорость зависит от трех переменных, задание поля скорости имеет такой вид:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;19 internalField   uniform (0 0 0);&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Задание граничных условий отличается тем, что мы задаем значение равное 1 м/с по переменной х. Правильное описание приведено в секции &lt;i&gt;movingWall&lt;/i&gt;. На всех остальных стенках начальная скорость равна 0.&lt;br /&gt;
&lt;i&gt;21 boundaryField&lt;br /&gt;
22 {&lt;br /&gt;
23     movingWall&lt;br /&gt;
24     {&lt;br /&gt;
25         type            fixedValue;&lt;br /&gt;
26         value           uniform (1 0 0);&lt;br /&gt;
27     }&lt;br /&gt;
28&lt;br /&gt;
29     fixedWalls&lt;br /&gt;
30     {&lt;br /&gt;
31         type            fixedValue;&lt;br /&gt;
32         value           uniform (0 0 0);&lt;br /&gt;
33     }&lt;br /&gt;
34&lt;br /&gt;
35     frontAndBack&lt;br /&gt;
36     {&lt;br /&gt;
37         type            empty;&lt;br /&gt;
38     }&lt;br /&gt;
39 }&lt;br /&gt;
&lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;Физические свойства.&lt;/h3&gt;
&lt;p&gt;Все физические свойства переменных приведены в начале файлов. В файле &lt;i&gt;transportProperties &lt;/i&gt;для рассматриваемой задачи приведено значение для кинематической вязкости и её размерность:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;18  nu              nu [ 0 2 -1 0 0 0 0 ] 0.01;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Кинематическая вязкость записывается фонетическим звучанием греческой буквы «nu». Для течения несжимаемой жидкости в каверне используется следующая формула:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f2_1.jpg&quot; width=&quot;109&quot; height=&quot;71&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
где d и U характерная длина стенки каверны и скорость. В данном случае   d=0,1 м, |U|=1 м/с.&lt;br /&gt;
Данные, связанные с контролем шага по пространству и времени считываются из файла &lt;i&gt;controlDict&lt;/i&gt;. Он находится в папке &lt;i&gt;system&lt;/i&gt;. В примере используется начальное время равное 0, значит начальные данные OpenFOAM будет считывать из папки под наименованием 0. Начальное время устанавливается в секции &lt;i&gt;startTime&lt;/i&gt;. Для окончания счета необходимо в секции &lt;i&gt;stopAt &lt;/i&gt;записать слово &lt;i&gt;endTime&lt;/i&gt;. В данной задаче &lt;i&gt;endTime &lt;/i&gt;равно 0,5. Теперь необходимо установить шаг по времени &lt;i&gt;deltaT&lt;/i&gt;. Для устойчивого счета необходимо выполнение следующего условия:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f2_2.jpg&quot; width=&quot;148&quot; height=&quot;71&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
где dt - шаг по времени,  dx - размер ячейки. Выбираем dt  из условия, что максимум Co соответствует максимальной скорости и минимальной ячейке. Из этих условий следует, что dt =0,005 с. Стоит заметить, что в данной задаче выбор промежутка времени определяется пользователем. Для записи поля скоростей и давления в определенные промежутки времени в секцию &lt;i&gt;writeControl &lt;/i&gt;записываем слово &lt;i&gt;timeStep&lt;/i&gt;, которое означает, что запись будет происходить через равное число итераций, описанное в секции &lt;i&gt;writeInterval&lt;/i&gt;. &lt;/p&gt;
&lt;h3&gt;Дискретизация и настройка решения&lt;/h3&gt;
&lt;p&gt;Пользователь указывает выбор схемы дискретизации в файле &lt;i&gt;fvSchemes &lt;/i&gt;в папке &lt;i&gt;system&lt;/i&gt;.&lt;br /&gt;
Подробнее данный раздел будет описан позже.&lt;/p&gt;
&lt;h3&gt;Просмотр сетки&lt;/h3&gt;
&lt;p&gt;В некоторых случаях стоит перед расчетом просмотреть исследуемую область. Разработчики OpenFOAM рекомендуют для этих целей использовать свободное программное обеспечение ParaView. Данная программа запускается из директории &lt;i&gt;cavity &lt;/i&gt;(для текущей задачи) командой ParaFoam. Работа с paraView будет описана позже.&lt;/p&gt;
&lt;h3&gt;
Запуск расчета&lt;/h3&gt;
&lt;p&gt;Как любое UNIX приложение OpenFOAM может быть запущено двумя способами. Либо в каталоге &lt;i&gt;cavity &lt;/i&gt;командой:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;icoFoam&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;либо в командной строке с использованием аргумента -case:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;icoFoam -case $FOAM_RUN/tutorials/incompressible/icoFoam/cavity&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Параметры расчета высвечиваются в окне терминала. Чтобы записать процесс расчета необходимо выполнить расчет при помощи следующей команды (из директории cavity)&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
    icoFoam &gt; log &amp;amp;&lt;br /&gt;
    cat log&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Обработка полученного решения&lt;/h3&gt;
&lt;p&gt;Расчетная задача в ПС OpenFOAM представляется как упорядоченный набор файлов и каталогов, размещенных в директории файловой системы под некоторым именем. Корневая структура расчетной задачи (относительно каталога задачи) имеет вид, показанный на рис. 2.3..&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/2_3_1.jpg&quot; width=&quot;243&quot; height=&quot;294&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Рисунок 2.3.&lt;/u&gt;Структура расчетных файлов OpenFOAM&lt;/b&gt;&lt;br /&gt;
После расчета результаты можно просмотреть командой paraFoam в окне программы paraView. &lt;/p&gt;
&lt;h3&gt;Создание сложной сетки&lt;/h3&gt;
&lt;p&gt;Если в некоторой области значения скорости или давления сильно отличаются в ближайших точках то необходимо использовать более сложные виды расчетных сеток. В нашем случае в верхних крайних точках и в области около них значения давления жидкости гораздо больше чем в центре каверны. Зачастую возникают такие задачи, где в некоторых областях достаточно знать лишь очень грубое приближение. Например, задача о распространении трещины гидроразрыва. В окрестности вершины трещины необходимо знать очень точные значения напряжений, на расстояниях много больше диаметра трещины можно использовать более грубую сетку.&lt;br /&gt;
Исследуем задачу течения жидкости в каверне для сложной сетки. Поскольку изменения в исходных файлах довольно существенны, пример решения такой задачи находится в папке &lt;i&gt;CavityGrade &lt;/i&gt;в стандарной поставке OpenFOAM.&lt;br /&gt;
	Создадим сетку как показано на рис. 2.4:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/files/files/lukin/2_3.jpg&quot; width=&quot;409&quot; height=&quot;414&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Рисунок.2.4. &lt;/u&gt;Структура сетки для задачи течения несжимаемой жидкости в каверне.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;	Файл &lt;i&gt;blockMeshDict &lt;/i&gt;будет иметь следующий вид:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;17  convertToMeters 0.1;&lt;br /&gt;
18&lt;br /&gt;
19  vertices&lt;br /&gt;
20  (&lt;br /&gt;
21      (0 0 0)&lt;br /&gt;
22      (0.5 0 0)&lt;br /&gt;
23      (1 0 0)&lt;br /&gt;
24      (0 0.5 0)&lt;br /&gt;
25      (0.5 0.5 0)&lt;br /&gt;
26      (1 0.5 0)&lt;br /&gt;
27      (0 1 0)&lt;br /&gt;
28      (0.5 1 0)&lt;br /&gt;
29      (1 1 0)&lt;br /&gt;
30      (0 0 0.1)&lt;br /&gt;
31      (0.5 0 0.1)&lt;br /&gt;
32      (1 0 0.1)&lt;br /&gt;
33      (0 0.5 0.1)&lt;br /&gt;
34      (0.5 0.5 0.1)&lt;br /&gt;
35      (1 0.5 0.1)&lt;br /&gt;
36      (0 1 0.1)&lt;br /&gt;
37      (0.5 1 0.1)&lt;br /&gt;
38      (1 1 0.1)&lt;br /&gt;
39  );&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
Здесь уже 4 блока. Ребро каждого разбивается на 10 отрезков длины которых меняются с коэффициентами, описанными командой &lt;i&gt;simpleGrading&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;41  blocks&lt;br /&gt;
42  (&lt;br /&gt;
43      hex (0 1 4 3 9 10 13 12) (10 10 1) simpleGrading (2 2 1)&lt;br /&gt;
44      hex (1 2 5 4 10 11 14 13) (10 10 1) simpleGrading (0.5 2 1)&lt;br /&gt;
45      hex (3 4 7 6 12 13 16 15) (10 10 1) simpleGrading (2 0.5 1)&lt;br /&gt;
46      hex (4 5 8 7 13 14 17 16) (10 10 1) simpleGrading (0.5 0.5 1)&lt;br /&gt;
47  );&lt;br /&gt;
48&lt;br /&gt;
49  edges&lt;br /&gt;
50  (&lt;br /&gt;
51  );&lt;br /&gt;
52&lt;br /&gt;
53  patches&lt;br /&gt;
54  (&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
Поскольку верхняя стенка теперь состоит из 2 блоков, то секция &lt;i&gt;movingWall &lt;/i&gt;будет состоять из 2х записей,&lt;/p&gt;
&lt;p&gt;&lt;i&gt;55      wall movingWall&lt;br /&gt;
56      (&lt;br /&gt;
57          (6 15 16 7)&lt;br /&gt;
58          (7 16 17 8)&lt;br /&gt;
59      ) &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;то же относится и к секции &lt;i&gt;fixedWalls&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;60      wall fixedWalls&lt;br /&gt;
61      (&lt;br /&gt;
62          (3 12 15 6)&lt;br /&gt;
63          (0 9 12 3)&lt;br /&gt;
64          (0 1 10 9)&lt;br /&gt;
65          (1 2 11 10)&lt;br /&gt;
66          (2 5 14 11)&lt;br /&gt;
67          (5 8 17 14)&lt;br /&gt;
68      ) &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;В 4 раза увеличивается  количество  пустых граничных условий.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;69      empty frontAndBack&lt;br /&gt;
70      (&lt;br /&gt;
71          (0 3 4 1)&lt;br /&gt;
72          (1 4 5 2)&lt;br /&gt;
73          (3 6 7 4)&lt;br /&gt;
74          (4 7 8 5)&lt;br /&gt;
75          (9 10 13 12)&lt;br /&gt;
76          (10 11 14 13)&lt;br /&gt;
77          (12 13 16 15)&lt;br /&gt;
78          (13 14 17 16)&lt;br /&gt;
79      )&lt;br /&gt;
80  );&lt;br /&gt;
81&lt;br /&gt;
82  mergePatchPairs&lt;br /&gt;
83  (&lt;br /&gt;
84  ); &lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;
Вычисление шага по времени&lt;/h3&gt;
&lt;p&gt;Максимальная скорость движения жидкости и минимальные ячейки находятся около верхней грани каверны. Использование команды simpleGrading позволяет задавать ячейки с использованием геометрической прогрессии. Если длина ребра блока равна l, а число точек на ребре n, с отношением между первым отрезком и последним R, то размер самой меленькой ячейки определяется по следующей формуле:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f2_3.jpg&quot; width=&quot;139&quot; height=&quot;66&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
где &lt;img src=&quot;/files/files/lukin/f2_4.jpg&quot; width=&quot;90&quot; height=&quot;51&quot; alt=&quot;&quot; /&gt;  отношение размеров двух соседних ячеек и&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f2_5.jpg&quot; width=&quot;287&quot; height=&quot;77&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
В рассматриваемом случае dxs=0,00345 м. Следовательно, временной интервал равен dt=0,0025 с. Поэтому значение &lt;i&gt;writeInterval &lt;/i&gt;(файл &lt;i&gt;controlDict &lt;/i&gt;в папке&lt;i&gt; cavityGrade/system/&lt;/i&gt;) устанавливаем равным 40, чтобы расчетные значения записывались через каждые 0,1 с. Теперь необходимо установить начальное и конечное время работы программы и произвести расчет командами:&lt;br /&gt;
&lt;b&gt;blockMesh&lt;br /&gt;
icoFoam&lt;/b&gt;&lt;br /&gt;
после расчета можно просмотреть результат командой:&lt;br /&gt;
&lt;b&gt;paraFoam&lt;/b&gt;&lt;br /&gt;
Стоит заметить, что в OpenFOAM совпадение узлов расчетной сетки на границах блоков полностью определяется пользователем. Если узлы не будут совпадать, то расчет будет неверным. &lt;/p&gt;
&lt;h3&gt;Увеличение числа Рейнольса.&lt;/h3&gt;
&lt;p&gt;При увеличении числа Рейнольдса до 100, схождение к стационарному решению будет происходить гораздо медленнее. Для решения данной задачи необходимо создать папку &lt;i&gt;cavityHighRe&lt;/i&gt;. В стандартной поставке OpenFOAM в папке &lt;i&gt;icoFoam &lt;/i&gt;находится исполнимый файл &lt;i&gt;Allrun&lt;/i&gt;. После работы этого файла в папке появляются все директории описанные в данном руководстве. Папка &lt;i&gt;cavityHighRe &lt;/i&gt;создается при помощи следующих команд:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;    cd $FOAM_RUN/tutorials/incompressible/icoFoam&lt;br /&gt;
    cp -r cavity cavityHighRe&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Войдите в файл &lt;i&gt;transportProperties &lt;/i&gt;в папке constant. Поскольку мы увеличиваем число Рейнольдса в 10 раз, то необходимо уменьшить вязкость в 10 раз. Так как стационарных режим возникает позже, то необходимо расчетное время увеличить в 2 раза (в файле &lt;i&gt;cavityHighRe/system/controlDict &lt;/i&gt;в секции &lt;i&gt;endTime &lt;/i&gt;необходимо поставить число 2).&lt;br /&gt;
Теперь запустите расчет командой icoFoam. При выполнении работы в фоновом режиме, могут быть полезны следующие команды UNIX:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;nohup&lt;/b&gt; – программа остается в работе, даже если пользователь закрыл терминал.&lt;br /&gt;
&lt;b&gt;nice&lt;/b&gt;  - изменяет приоритет процесса. -20 – наивысший приоритет, 19 – низший.&lt;/p&gt;
&lt;p&gt;Это полезно, например, если пользователь хочет провести расчет на удаленной машине и установить ему низкий приоритет. Пример выполнения команд:&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
    cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavityHighRe&lt;br /&gt;
    nohup nice -n 19 icoFoam &gt; log &amp;amp;&lt;br /&gt;
    cat log&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Часто время установления стационарного режима гораздо меньше чем заданное пользователем. Для того чтобы программа не работала впустую в файле &lt;i&gt;fvSolutions &lt;/i&gt;можно задать разницу между ближайшими итерациями скорости U. Обычно это значение равно 10&lt;sup&gt;-6&lt;/sup&gt;. Как только разница стала меньше чем заданное число расчет останавливается.&lt;br /&gt;
	Разумеется бесконечно увеличивать число Рейнольса нельзя. Поскольку возникают турбулентные режимы, которые описываются другими законами. Исследование турбулентности и более сложные режимы течения можно рассчитать перейдя в папку &lt;i&gt;pisoFoam&lt;/i&gt;.&lt;/p&gt;
&lt;h3&gt;Сложные режимы течения&lt;/h3&gt;
&lt;p&gt;Перейдите в папку &lt;i&gt;$FOAM_RUN/tutorials/incompressible/pisoFoam/ras&lt;/i&gt;. Сгенерируйте сетку командой &lt;i&gt;blockMesh&lt;/i&gt;. Начиная с версии 1.6. в OpenFOAM применяются специальные модели, позволяющие задать разные граничные условия на различных стенках. Некоторые из них приведены при выборе турбулентной вязкости в файле &lt;i&gt;0/nut&lt;/i&gt;:&lt;br /&gt;
&lt;i&gt;18  dimensions      [0 2 -1 0 0 0 0];&lt;br /&gt;
19&lt;br /&gt;
20  internalField   uniform 0;&lt;br /&gt;
21&lt;br /&gt;
22  boundaryField&lt;br /&gt;
23  {&lt;br /&gt;
24      movingWall&lt;br /&gt;
25      {&lt;br /&gt;
26          type            nutWallFunction;&lt;br /&gt;
27          value           uniform 0;&lt;br /&gt;
28      }&lt;br /&gt;
29      fixedWalls&lt;br /&gt;
30      {&lt;br /&gt;
31          type            nutWallFunction;&lt;br /&gt;
32          value           uniform 0;&lt;br /&gt;
33      }&lt;br /&gt;
34      frontAndBack&lt;br /&gt;
35      {&lt;br /&gt;
36          type            empty;&lt;br /&gt;
37      }&lt;br /&gt;
38  }&lt;/i&gt;&lt;br /&gt;
Здесь используется граничное условие &lt;i&gt;nutWallFunction&lt;/i&gt;. В файлах &lt;i&gt;0/k&lt;/i&gt; и&lt;i&gt; 0/epsilon&lt;/i&gt; используются граничные условия &lt;i&gt;epsilonWallFunction&lt;/i&gt; и &lt;i&gt;kqRwallFunction&lt;/i&gt;. Начальные значения для k и &amp;epsilon; выбираются на основе следующих формул:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f2_6.jpg&quot; width=&quot;133&quot; height=&quot;66&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f2_7.jpg&quot; width=&quot;130&quot; height=&quot;73&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
где &lt;img src=&quot;/files/files/lukin/f2_8.jpg&quot; width=&quot;56&quot; height=&quot;43&quot; alt=&quot;&quot; /&gt; - константа равная 0,09 для k-&amp;epsilon; модели. В декартовых координатах k определяется по формуле скалярного произведения:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f2_9.jpg&quot; width=&quot;237&quot; height=&quot;66&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
где &lt;img src=&quot;/files/files/lukin/f2_10.jpg&quot; width=&quot;109&quot; height=&quot;41&quot; alt=&quot;&quot; /&gt; - координаты скорости. Предположим что начальная турбулентность изотропна, т. е.  &lt;img src=&quot;/files/files/lukin/f2_11.jpg&quot; width=&quot;137&quot; height=&quot;41&quot; alt=&quot;&quot; /&gt; и равна 5% от скорости верхней грани каверны. Тогда получаем:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f2_12.jpg&quot; width=&quot;406&quot; height=&quot;66&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f2_13.jpg&quot; width=&quot;381&quot; height=&quot;79&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/f2_14.jpg&quot; width=&quot;203&quot; height=&quot;39&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
До версии 1.6 для каждого крупного вихря создавался свой решатель, это приводило к дублированию кода. Теперь метод моделирования выбирается пользователем при помощи ключевого слова &lt;i&gt;simulationType &lt;/i&gt;в файле &lt;i&gt;turbulenceProperties&lt;/i&gt;. В папке можно открыть этот файл:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;18	simulationType  RASModel;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Можно использовать команды &lt;i&gt;laminar&lt;/i&gt;, &lt;i&gt;RASModel &lt;/i&gt;и &lt;i&gt;LESModel&lt;/i&gt;. В данном случае выбирается модель RAS определенная в файле &lt;i&gt;RASProperties &lt;/i&gt;в папке &lt;i&gt;constant&lt;/i&gt;. Виды RAS моделей будут описаны позднее. Здесь &lt;i&gt;kEpsilon &lt;/i&gt;– это стандартная k-&amp;epsilon; модель турбулентности. В данном случае пользователь должен установить флаг &lt;i&gt;on&lt;/i&gt; для расчета турбулентности:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;turbulence on;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Число Рейнольдса определяется по формуле, приведенной выше. После установки начального и конечного времени, а также временного промежутка необходимо произвести расчет командой &lt;i&gt;pisoFoam&lt;/i&gt;.&lt;/p&gt;
&lt;h3&gt;Упражнение&lt;/h3&gt;
&lt;p&gt;1.	Установите входные параметры таким образом, чтобы расчет происходил быстрее, при этом не теряя точности.&lt;/p&gt;
&lt;h3&gt;Изменение геометрии расчетной области&lt;/h3&gt;
&lt;p&gt;Создадим папку &lt;i&gt;cavityClipped &lt;/i&gt;в директории &lt;i&gt;icoFoam&lt;/i&gt;. Для примера удалим квадрат со стороной 0,04 м из расчетной области (внизу справа). Файл &lt;i&gt;BlockMeshDict &lt;/i&gt;будет выглядеть следующим образом:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;17  convertToMeters 0.1;&lt;br /&gt;
18&lt;br /&gt;
19  vertices&lt;br /&gt;
20  (&lt;br /&gt;
21      (0 0 0)&lt;br /&gt;
22      (0.6 0 0)&lt;br /&gt;
23      (0 0.4 0)&lt;br /&gt;
24      (0.6 0.4 0)&lt;br /&gt;
25      (1 0.4 0)&lt;br /&gt;
26      (0 1 0)&lt;br /&gt;
27      (0.6 1 0)&lt;br /&gt;
28      (1 1 0)&lt;br /&gt;
29&lt;br /&gt;
30      (0 0 0.1)&lt;br /&gt;
31      (0.6 0 0.1)&lt;br /&gt;
32      (0 0.4 0.1)&lt;br /&gt;
33      (0.6 0.4 0.1)&lt;br /&gt;
34      (1 0.4 0.1)&lt;br /&gt;
35      (0 1 0.1)&lt;br /&gt;
36      (0.6 1 0.1)&lt;br /&gt;
37      (1 1 0.1)&lt;br /&gt;
38&lt;br /&gt;
39  );&lt;br /&gt;
40   &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Расчетная область состоит из 3 блоков.&lt;br /&gt;
&lt;i&gt;41  blocks&lt;br /&gt;
42  (&lt;br /&gt;
43      hex (0 1 3 2 8 9 11 10) (12 8 1) simpleGrading (1 1 1)&lt;br /&gt;
44      hex (2 3 6 5 10 11 14 13) (12 12 1) simpleGrading (1 1 1)&lt;br /&gt;
45      hex (3 4 7 6 11 12 15 14) (8 12 1) simpleGrading (1 1 1)&lt;br /&gt;
46  );&lt;br /&gt;
47&lt;br /&gt;
48  edges&lt;br /&gt;
49  (&lt;br /&gt;
50  );&lt;br /&gt;
51&lt;br /&gt;
52  patches&lt;br /&gt;
53  (&lt;br /&gt;
54      wall lid&lt;br /&gt;
55      (&lt;br /&gt;
56          (5 13 14 6)&lt;br /&gt;
57          (6 14 15 7)&lt;br /&gt;
58      )&lt;br /&gt;
59      wall fixedWalls&lt;br /&gt;
60      (&lt;br /&gt;
61          (0 8 10 2)&lt;br /&gt;
62          (2 10 13 5)&lt;br /&gt;
63          (7 15 12 4)&lt;br /&gt;
64          (4 12 11 3)&lt;br /&gt;
65          (3 11 9 1)&lt;br /&gt;
66          (1 9 8 0)&lt;br /&gt;
67      )&lt;br /&gt;
68      empty frontAndBack&lt;br /&gt;
69      (&lt;br /&gt;
70          (0 2 3 1)&lt;br /&gt;
71          (2 5 6 3)&lt;br /&gt;
72          (3 6 7 4)&lt;br /&gt;
73          (8 9 11 10)&lt;br /&gt;
74          (10 11 14 13)&lt;br /&gt;
75          (11 12 15 14)&lt;br /&gt;
76      )&lt;br /&gt;
77  );&lt;br /&gt;
78&lt;br /&gt;
79  mergePatchPairs&lt;br /&gt;
80  (&lt;br /&gt;
81  );&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Поскольку в поставке OpenFOAM учебные файлы в данном случае проводят расчет со времени 0,5 c. То пользователю необходимо записать начальные данные в папку 0,5 предварительно создав её. Сделать это можно следующими командами:&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
    cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavityClipped&lt;br /&gt;
    cp -r 0 0.5&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;После всех изменений можно провести расчет командой &lt;i&gt;icoFoam&lt;/i&gt;.&lt;/p&gt;
&lt;h3&gt;Упражнение&lt;/h3&gt;
&lt;p&gt;1.	Проделайте то же самое, только удалите квадрат сверху слева.&lt;br /&gt;
2.	Проведите расчет для более сложной области, в виде квадрата удалённого в середине расчетной области.&lt;br /&gt;
3.	Проведите расчет для полостей в виде прямоугольников со сторонами 0,04 и 0,08 м удаленными слева и справа внизу расчетной области.&lt;/p&gt;
&lt;p&gt;Решения упражнений в виде исполнимых файлов и описание их будут с течением времени приведены в моем блоге.&lt;/p&gt;
&lt;p&gt;По всем вопросам обращаться на e-mail: &lt;a href=&quot;mailto:serg@imech.anrb.ru&quot;&gt;serg@imech.anrb.ru&lt;/a&gt;&lt;/p&gt;
</description>
 <category domain="http://test.uimech.org/taxonomy/term/15">Лаборатория МТП</category>
 <category domain="http://test.uimech.org/taxonomy/term/30">Лукин С. В.</category>
 <pubDate>Mon, 31 Jan 2011 18:54:04 +0500</pubDate>
 <dc:creator>Serj</dc:creator>
 <guid isPermaLink="false">253 at http://test.uimech.org</guid>
</item>
<item>
 <title>Установка OpenFOAM</title>
 <link>http://test.uimech.org/node/250</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://ru.uimech.org/people/lukin#Id_OpenFOAM001&quot;&gt;Первая страница&lt;/a&gt;&lt;br /&gt;
Рассмотрим следующие задачи:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Установка OpenFOAM 1.7.1. через Интернет в UBUNTU&lt;/li&gt;
&lt;li&gt;Инсталляция из исходных файлов&lt;/li&gt;
&lt;li&gt;Инсталляция в дистрибутивах, отличных от UBUNTU&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Установка OpenFOAM 1.7.1. через Интернет в UBUNTU&lt;/h2&gt;
&lt;p&gt;Для корректной инсталляции последней версии OpenFOAM необходимы следующие версии UBUNTU:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;10.04 LTS, codename lucid &lt;/li&gt;
&lt;li&gt;10.10, codename maverick&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;В терминале заходим под паролем администратора (root) при помощи команды «sudo -i». Набираем следующую команду:&lt;/p&gt;
&lt;p&gt;sudo sh -c &quot;echo deb &lt;a href=&quot;http://www.openfoam.com/download/ubuntu&quot; title=&quot;http://www.openfoam.com/download/ubuntu&quot;&gt;http://www.openfoam.com/download/ubuntu&lt;/a&gt; &lt;vers&gt; main &gt;&gt; /etc/apt/sources.list&quot; &lt;/p&gt;
&lt;p&gt;здесь вместо &lt;vers&gt; надо набрать либо слово lucid, либо слово maverick, в зависимости от версии Ubuntu. Например в случае UBUNTU 10.04 LTS, codename lucid данная команда будет выглядеть так:&lt;/p&gt;
&lt;p&gt;sudo sh -c &quot;echo deb &lt;a href=&quot;http://www.openfoam.com/download/ubuntu&quot; title=&quot;http://www.openfoam.com/download/ubuntu&quot;&gt;http://www.openfoam.com/download/ubuntu&lt;/a&gt; lucid main &gt;&gt; /etc/apt/sources.list&quot; &lt;/p&gt;
&lt;p&gt;Данную команду необходимо выполнить только один раз.&lt;br /&gt;
Обновляем установочные пакеты:&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
Инсталлируем новую версию. На текущий момент – это версия 1.7.1.:&lt;br /&gt;
sudo apt-get install openfoam171&lt;br /&gt;
Инсталлируем Paraview (на текущий момент – версия 3.8.1):&lt;br /&gt;
sudo apt-get install paraviewopenfoam381&lt;br /&gt;
Теперь OpenFOAM-1.7.1 и Paraview-3.8.1 находятся в директории /opt.&lt;br /&gt;
Для полного завершения установки необходимо настроить OpenFOAM при помощи следующих команд:&lt;br /&gt;
открыть файл .bashrc в домашней директории пользователя. Либо набрать в терминале:&lt;br /&gt;
gedit ~/.bashrc&lt;br /&gt;
В самом низу файла добавить следующую строку:&lt;br /&gt;
. /opt/openfoam171/etc/bashrc&lt;br /&gt;
Если там уже есть подобная строка, то её необходимо закомментировать символом #.&lt;br /&gt;
После этого сохраняем документ и выполняем команду&lt;br /&gt;
. ~/.bashrc&lt;br /&gt;
OpenFOAM установлен и готов к работе.&lt;/p&gt;
&lt;h2&gt;Инсталляция из исходных файлов&lt;/h2&gt;
&lt;p&gt;Необходимо скачать следующие файлы:&lt;br /&gt;
OpenFOAM  -   OpenFOAM-1.7.1.gtgz&lt;br /&gt;
Third-Party  -   ThirdParty-1.7.1.gtgz &lt;/p&gt;
&lt;p&gt;Затем необходимо выбрать папку, куда будут распакованы данные файлы, эта папка станет инсталляционной для OpenFOAM. Если пользователем программы будет только один человек, либо пользователь не хочет устанавливать продукт под правами администратора рекомендуется установить систему в домашнюю папку. Если наоборот, то можно установить в одну из следующих папок: /usr/local/OpenFOAM, /opt/OpenFOAM, либо просто /opt.&lt;br /&gt;
После создания папки скопируйте туда 2 сохраненных файла и распакуйте их следующими командами:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;tar xzf OpenFOAM-1.7.1.gtgz &lt;/li&gt;
&lt;li&gt;tar xzf ThirdParty-1.7.1.gtgz&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Файлы распакуются в папки OpenFOAM-1.7.1 и ThirdParty-1.7.1.&lt;/p&gt;
&lt;h3&gt;Системные требования.&lt;/h3&gt;
&lt;p&gt;OpenFOAM-1.7.1 и ThirdParty-1.7.1 тестировались на Linux дистрибутивах Ubuntu 10.04 и OpenSuSE 11.1, 11.2 и 11.3. ParaView-3.8.0 требует наличие cmake-2.6.4  или выше и Qt-4.5 или выше. Чтобы протестировать свою систему необходимо выполнить скрипт foamSystemCheck, описанный в разделе “Тестирование системы ” (ниже). &lt;/p&gt;
&lt;h3&gt;Установка переменных окружения&lt;/h3&gt;
&lt;p&gt;Файлы переменных среду окружения содержатся в папке OpenFOAM-1.7.1/etc. Например, если система установлена в домашнюю папку $HOME/OpenFOAM, то путь к переменным будет следующий:&lt;br /&gt;
•	$HOME/OpenFOAM/OpenFOAM-1.7.1/etc&lt;br /&gt;
либо&lt;br /&gt;
при работе с bash или ksh, необходимо добавить следующую строку в конец файла .bashrc:&lt;br /&gt;
•	. $HOME/OpenFOAM/OpenFOAM-1.7.1/etc/bashrc&lt;br /&gt;
затем обновить командой “. $HOME/.bashrc” в текущем окне терминала&lt;br /&gt;
либо&lt;br /&gt;
при работе с tcsh или csh, в папке etc/cshrc есть файл .cshrc в конец его надо добавить:&lt;br /&gt;
•	source $HOME/OpenFOAM/OpenFOAM-1.7.1/etc/cshrc&lt;br /&gt;
затем обновить командой “source $HOME/.cshrc” в текущем окне терминала.&lt;/p&gt;
&lt;h3&gt;Тестирование системы &lt;/h3&gt;
&lt;p&gt;Для проверки пригодности системы необходимо выполнить скрипт foamSystemCheck (он находится в каталоге OpenFOAM-1.7.1/bin). Если какой-либо нужное обеспечение отсутствует, или нуждается в обновлении до новой версии, установите необходимое программное обеспечение, прежде чем приступить к инсталляции.&lt;br /&gt;
В частности: на вашем компьютере должна быть последняя версия GCC (достаточно версии-4.3., рекомендуется версия 4.4.). Последняя версия доступна на сайте &lt;a href=&quot;http://gcc.gnu.org/&quot;&gt;http://gcc.gnu.org/&lt;/a&gt; .&lt;br /&gt;
Чтобы инсталлировать OpenFOAM вам также понадобится программное обеспечение Flex.&lt;br /&gt;
Инсталляция из исходников&lt;br /&gt;
Перейти в самую верхнюю папку $WM_PROJECT_DIR и выполнить скрипт ./Allwmake. Если возникнут трудности, свяжитесь с &lt;a href=&quot;http://www.openfoam.com/support/software.php&quot;&gt;поддержкой &lt;/a&gt;. &lt;/p&gt;
&lt;h2&gt;Инсталляция в дистрибутивах, отличных от UBUNTU&lt;/h2&gt;
&lt;p&gt;При установке на другие дистрибутивы, можно руководствоваться следующими источниками:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://sergeitvorogov.ru/archives/528&quot;&gt;Установка OpenFOAM 1.5 в Ubuntu 8.10&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.extra.os-cfd.ru/%D0%BA%D0%B0%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-openfoam-%D0%BD%D0%B0-ubuntu-9-04&quot;&gt;Как установить OpenFOAM на Ubuntu 9.04?&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rv82.blogspot.com/2009/12/openfoam-altlinux-4-desktop_19.html&quot;&gt;Установка OpenFOAM на ALTLinux 4 Desktop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.extra.os-cfd.ru/wp-content/uploads/downloads/2010/07/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-OF-1.7.0-%D0%BD%D0%B0-OpenSUSE-11.3.pdf&quot;&gt;Установка OpenFOAM 1.7.0 на OpenSUSE 11.3 (с нуля)&lt;/a&gt; (PDF)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.symscape.com/openfoam-1-7-x-on-windows-64-mpi&quot;&gt;OpenFOAM 1.7.x on Windows 64-bit with Native MPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://caelinux.com/CMS/&quot;&gt;Дистрибутив CAELinux&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;e-mail: &lt;a href=&quot;mailto:serg@imech.anrb.ru&quot;&gt;serg@imech.anrb.ru&lt;/a&gt;&lt;/p&gt;
</description>
 <category domain="http://test.uimech.org/taxonomy/term/15">Лаборатория МТП</category>
 <category domain="http://test.uimech.org/taxonomy/term/30">Лукин С. В.</category>
 <pubDate>Tue, 18 Jan 2011 18:45:50 +0500</pubDate>
 <dc:creator>Serj</dc:creator>
 <guid isPermaLink="false">250 at http://test.uimech.org</guid>
</item>
<item>
 <title>OpenFOAM</title>
 <link>http://test.uimech.org/node/248</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://ru.uimech.org/people/lukin#Id_OpenFOAM001&quot;&gt;Первая страница&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Введение&lt;/h3&gt;
&lt;p&gt;На текущий момент существует огромное количество программ математического моделирования (ANSYS, LabVIEW, MATLAB, Maple, Mathematica и тд). В основном это коммерческое программное обеспечение. Поскольку эти программы стоят достаточно дорого, для них есть фирмы, обеспечивающие поддержку и разработку документации, группа клиентов. Кроме них существует также программное обеспечение с открытым исходным кодом (OpenFOAM, SALOME, KCalc, Scilab, R и тд). В основном, это программы, разработанные под операционную систему Linux. Одним из минусов открытого программного обеспечения является разнородность групп поддержки, практически полное отсутствие документации, в том числе и русской. Данное издание предназначено для обучения работе в OpenFOAM. Предполагается, что читатель знаком с основами дифференциального исчисления в частных производных, основами объектно-ориентированного программирования на языке C++, владеет основами программирования для CUDA&lt;/p&gt;
&lt;p&gt;&lt;b&gt;OpenFOAM &lt;/b&gt; (Open Source Field Operation And Manipulation) — открытая интегрируемая платформа для численного моделирования задач механики сплошных сред. Предназначена для решения задач в области механики сплошных сред.&lt;br /&gt;
По данным сайта &lt;a href=&quot;http://www.openfoam.com/&quot;&gt;http://www.openfoam.com/&lt;/a&gt; 10 декабря 2004 года код FOAM (Field Operation And Manipulation) был открыт под лицензией GNU GPL. Таким образом, данная дата считается первым релизом открытого программного продукта OpenFOAM. FOAM остался закрытым и продолжает развиваться параллельно с OpenFOAM. На текущий момент доступна для скачивания версия 1.7.1. анонсированная 26 августа 2010 года.&lt;br /&gt;
OpenFOAM позволяет решать следующие задачи:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Прочностные расчеты &lt;/li&gt;
&lt;li&gt;Гидродинамика ньютоновских и неньютоновских вязких жидкостей как в несжимаемом, так и сжимаемом приближении с учётом конвективного теплообмена и действием сил гравитации. Для моделирования турбулентных течений возможно использование RANS-моделей, LES и DNS методов. Возможно решение дозвуковых, околозвуковых и сверхзвуковых задач; &lt;/li&gt;
&lt;li&gt;Задачи теплопроводности в твёрдом теле; (&lt;/li&gt;
&lt;li&gt;Многофазные задачи, в том числе с описанием химических реакций компонент потока;&lt;/li&gt;
&lt;li&gt;Задачи, связанные с деформацией расчётной сетки;&lt;/li&gt;
&lt;li&gt;Сопряжённые задачи; &lt;/li&gt;
&lt;li&gt;Некоторые другие задачи, при математической постановке которых требуется решение ДУ в ЧП в условиях сложной геометрии среды;&lt;/li&gt;
&lt;li&gt;Распараллеливание расчёта как в кластерных, так и многопроцессорных системах&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;Организация OpenFOAM&lt;/h3&gt;
&lt;p&gt;Условно код OpenFOAM можно разделить на следующие части (как и любую другую сложную программу):&lt;br /&gt;
1.	Ядро (core) – набор файлов, определяющих основные функциональные возможности кода&lt;br /&gt;
2.	Библиотеки (solvers) – содержат множество моделей механики сплошных сред.&lt;br /&gt;
3.	Исполняемые файлы (utilities)– утилиты для решения задач МСС, подготовки и обработки данных&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Утилиты для работы с расчетной сеткой&lt;/li&gt;
&lt;li&gt;Диагностические утилиты&lt;/li&gt;
&lt;li&gt;Утилиты для задания начальных и граничных условий&lt;/li&gt;
&lt;li&gt;Решатели&lt;/li&gt;
&lt;li&gt;Утилиты для обработки полученных данных&lt;/li&gt;
&lt;li&gt;Системные утилиты&lt;/li&gt;
&lt;p&gt;Рабочим языком OpenFOAM является язык C++. Данный язык выбран для удобства представления математических операторов и выражения в удобной форме до компиляции в исполняемый файл. Сам продукт состоит из инструментов для решения систем дифференциальных уравнений в частных производных (solvers), утилит (utilities) и библиотек (libraries). При решении задач используется конечно-элементный метод.&lt;br /&gt;
В качестве примера обычно приводится уравнение сохранения количества движения для ньютоновской несжимаемой жидкости без действия массовых сил:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/Stocs001.jpg&quot; width=&quot;664&quot; height=&quot;84&quot;  alt=&quot;&quot; /&gt;&lt;br /&gt;
которое может быть представлено в виде:&lt;br /&gt;
solve&lt;br /&gt;
   (&lt;br /&gt;
       fvm::ddt(rho, U)&lt;br /&gt;
     + fvm::div(rho, U, U)&lt;br /&gt;
     - fvm::laplacian(mu, U)&lt;br /&gt;
       ==&lt;br /&gt;
     - fvc::grad(p)&lt;br /&gt;
   );&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/002.jpg&quot; width=&quot;826&quot; height=&quot;86&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
которое записывается следующим образом:&lt;br /&gt;
 solve&lt;br /&gt;
(&lt;br /&gt;
fvm::ddt(k)&lt;br /&gt;
+ fvm::div(phi, k)&lt;br /&gt;
- fvm::laplacian(nu() + nut, k)&lt;br /&gt;
== nut*magSqr(symm(fvc::grad(U)))&lt;br /&gt;
- fvm::Sp(epsilon/k, k)&lt;br /&gt;
);&lt;br /&gt;
Другие примеры:&lt;br /&gt;
Уравнение неразрывности:&lt;br /&gt;
solve(&lt;br /&gt;
fvm::ddt(rho)&lt;br /&gt;
+ fvc::div(phi)&lt;br /&gt;
);&lt;br /&gt;
Уравнение сохранения количества движения:&lt;br /&gt;
fvVectorMatrix UEqn&lt;br /&gt;
(&lt;br /&gt;
fvm::ddt(rho, U)&lt;br /&gt;
+ fvm::div(phi, U)&lt;br /&gt;
- fvm::laplacian(mu, U)&lt;br /&gt;
);&lt;br /&gt;
solve(UEqn == -fvc::grad(p));&lt;br /&gt;
Уравнение сохранения энергии:&lt;br /&gt;
solve&lt;br /&gt;
(&lt;br /&gt;
fvm::ddt(rho, e)&lt;br /&gt;
+ fvm::div(phi, e)&lt;br /&gt;
- fvm::laplacian(mu, e)&lt;br /&gt;
==&lt;br /&gt;
- p*fvc::div(phi/fvc::interpolate(rho))&lt;br /&gt;
+ mu*magSqr(symm(fvc::grad(U)))&lt;br /&gt;
);&lt;br /&gt;
T = e/Cv;&lt;br /&gt;
Официальный сайт в состав поставки включает Paraview  3.8.1 - программа для графической визуализации данных.&lt;br /&gt;
Часто для моделирования исходной сетки используется программный продукт  &lt;a href=&quot;http://ru.wikipedia.org/wiki/SALOME&quot;&gt;SALOME&lt;/a&gt;.&lt;br /&gt;
Компании и академические институты, которые используют OpenFOAM: ABB Corporate Research, Audi, Airbus, Bayer, CD-adapco group, Danone, Daimler, Hitachi, Mitsubishi, Obayashi, SKF, Shell, Toyota, Tokyo Gas, Volkswagen, Electrolux, Fluid Technology, Icon-CG, The Technology Partnership plc, Imperial College London, Kings College London, Chalmers University, University of Exeter, University of Guelph, Hirosaki Universty, Tokyo Institute of Technology.&lt;/p&gt;
&lt;p&gt;При подготовке данной статьи использовались материалы из следующих источников:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.openfoam.com/&quot;&gt;Официальный сайт&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.os-cfd.ru/mamb/&quot;&gt;Сайт обмена практическим опытом и использования свободного ПО в CAD/CAE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://openfoamwiki.net/index.php/Main_Page&quot; title=&quot;http://openfoamwiki.net/index.php/Main_Page&quot;&gt;http://openfoamwiki.net/index.php/Main_Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.foamcfd.org/&quot; title=&quot;http://www.foamcfd.org/&quot;&gt;http://www.foamcfd.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;e-mail: &lt;a href=&quot;mailto:serg@imech.anrb.ru&quot;&gt;serg@imech.anrb.ru&lt;/a&gt;&lt;/p&gt;
</description>
 <category domain="http://test.uimech.org/taxonomy/term/15">Лаборатория МТП</category>
 <category domain="http://test.uimech.org/taxonomy/term/30">Лукин С. В.</category>
 <pubDate>Mon, 17 Jan 2011 13:35:46 +0500</pubDate>
 <dc:creator>Serj</dc:creator>
 <guid isPermaLink="false">248 at http://test.uimech.org</guid>
</item>
<item>
 <title>Расчёт оптимальных параметров работы трубопроводов</title>
 <link>http://test.uimech.org/node/245</link>
 <description>&lt;p&gt;Лабораторией &lt;a href=&quot;http://ru.uimech.org/structure/mtp&quot;&gt;МТП&lt;/a&gt; разработан комплекс задач по расчету оптимальных режимов работ магистральных нефтепроводов по выбранным пользователем параметрам.&lt;br /&gt;
Комплекс позволяет решать следующие задачи:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Моделирование технологических схем работы нефтепроводов.&lt;/li&gt;
&lt;li&gt;Идентификация эксплуатационных параметров линейной части и насосно-силового оборудования нефтепроводов. &lt;/li&gt;
&lt;li&gt;Разработка оптимальных режимов работы нефтепроводов &lt;/li&gt;
&lt;li&gt;Определение объема перекачки по нефтепроводам при заданном (установленном) включенном в работу насосном оборудовании.&lt;/li&gt;
&lt;li&gt;Разработка технологических карт режимов работы нефтепроводов со сбросами и подкачками. &lt;/li&gt;
&lt;li&gt;Определение перевальных точек и параметров их существования и ликвидации.&lt;/li&gt;
&lt;li&gt;Разработка оптимального режима работы нефтепроводов для заданного объема перекачки.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Для получения дополнительной информации о программном продукте необходимо написать письмо на email: &lt;a href=&quot;mailto:serg@uimech.org&quot;&gt;serg@uimech.org&lt;/a&gt;&lt;/p&gt;
</description>
 <category domain="http://test.uimech.org/taxonomy/term/15">Лаборатория МТП</category>
 <category domain="http://test.uimech.org/taxonomy/term/30">Лукин С. В.</category>
 <category domain="http://test.uimech.org/taxonomy/term/3">Публикации</category>
 <pubDate>Mon, 29 Nov 2010 12:01:03 +0500</pubDate>
 <dc:creator>Serj</dc:creator>
 <guid isPermaLink="false">245 at http://test.uimech.org</guid>
</item>
<item>
 <title>ИССЛЕДОВАНИЕ РАСПРОСТРАНЕНИЯ АКУСТИЧЕСКИХ ВОЗМУЩЕНИЙ В ПОРИСТЫХ СРЕДАХ, НАСЫЩЕННЫХ ГАЗОЖИДКОСТНОЙ СМЕСЬЮ</title>
 <link>http://test.uimech.org/node/228</link>
 <description>&lt;p&gt;Проведено исследование распространения слабых возмущений в пористых средах, насыщенных газожидкостной смесью. Изучено влияние межфазного теплообмена на характерную длину затухания импульса. Получены зависимости для асимптотических значений фазовых скоростей волн. Качественно проанализировано влияние тепловой необратимости газовой фазы на скорость и затухание волн первого и второго типа. На примере кварцевого песка, заполненного водой с пузырьками воздуха получен диапазон чисел Нуссельта для качественного описания распространения слабых акустических импульсов.&lt;/p&gt;
</description>
 <category domain="http://test.uimech.org/taxonomy/term/15">Лаборатория МТП</category>
 <category domain="http://test.uimech.org/taxonomy/term/30">Лукин С. В.</category>
 <category domain="http://test.uimech.org/taxonomy/term/3">Публикации</category>
 <pubDate>Wed, 20 Jan 2010 11:55:33 +0500</pubDate>
 <dc:creator>Serj</dc:creator>
 <guid isPermaLink="false">228 at http://test.uimech.org</guid>
</item>
<item>
 <title>ОСОБЕННОСТИ ОТРАЖЕНИЯ И ПРОХОЖДЕНИЯ УДАРНЫХ ВОЛН ЧЕРЕЗ СЛОИСТЫЕ И ПОРИСТЫЕ СТРУКТУРЫ</title>
 <link>http://test.uimech.org/node/227</link>
 <description>&lt;p&gt;Проведено экспериментальное и теоретическое исследование отражения и прохождения слабых ударных волн в газо- и водонасыщенных пористых структурах. Изучено влияние на свойства проходящих и отраженных волн таких параметров пористой среды как водонасыщенность, характерный размер частиц скелета и его гранулометрический состав. Рассмотрено ударно-волновое воздействие на слоистые неоднородные среды. Обнаруженные особенности влияния свойств среды на отражение и прохождение ударных волн проанализированы качественно, проведено сравнение с численными расчетами. Полученные результаты полезны для развития методов акустического зондирования.&lt;/p&gt;
</description>
 <category domain="http://test.uimech.org/taxonomy/term/15">Лаборатория МТП</category>
 <category domain="http://test.uimech.org/taxonomy/term/30">Лукин С. В.</category>
 <category domain="http://test.uimech.org/taxonomy/term/3">Публикации</category>
 <pubDate>Wed, 20 Jan 2010 11:53:43 +0500</pubDate>
 <dc:creator>Serj</dc:creator>
 <guid isPermaLink="false">227 at http://test.uimech.org</guid>
</item>
<item>
 <title>Распространение волн давления в пористых средах, насыщенных жидкостью</title>
 <link>http://test.uimech.org/node/226</link>
 <description>&lt;p&gt;Исследуется динамика ударно-волновых процессов в пористых средах, насыщенных жидкостью. Последовательно учтены силы межфазного взаимодействия. Исследовано влияние пористости, радиуса и плотности материала частиц на фазовую скорость и декремент затухания волн. Выявлены закономерности распространения волн в пористой среде неоднородной структуры. Рассматривается консолидированная система и среда, состоящая из насыпки, залитой жидкостью.&lt;/p&gt;
&lt;p&gt;Содержание:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Математическая модель&lt;/li&gt;
&lt;li&gt;Конечно-разностная аппроксимация системы уравнений&lt;/li&gt;
&lt;li&gt;численные расчёты (сравнение с экспериментом, сравнение распространения волн в консолидированной среде и среде насыпной плотности)&lt;/li&gt;
&lt;li&gt;Влияние переменной пористости на характер волнового течения&lt;/li&gt;
&lt;li&gt;Влияние переменной пористости на характер волнового течения&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Математическая модель&lt;/h2&gt;
&lt;p&gt;Рассмотрим плоское одномерное движение двухфазной среды на основе физических законов сохранения. Нижний индекс &lt;i&gt;i&lt;/i&gt; = 1 будем относить к параметрам жидкости, а &lt;i&gt;i&lt;/i&gt; = 2 – к параметрам дисперсной фазы (твердых частиц). Считаем, что в процессе распространения волн давления в чистой жидкости и в пористой среде температуры фаз изменяются незначительно.&lt;/p&gt;
&lt;p&gt;где  ,   - приведённая плотность и массовая скорость i-й фазы, p1,   – давление и пористость жидкости,  ,  – объёмное содержание и приведённое напряжение твёрдой фазы. Напряжение   интерпретируется как часть тензора напряжений твёрдой фазы  , обусловленная передачей усилий через контакты между зёрнами и не зависящая от давления жидкости. F12 – межфазная сила, связанная со скоростной неравновесностью фаз.&lt;br /&gt;
Сила взаимодействия F12 между несущей средой и включениями обязана трём основным эффектам:&lt;/p&gt;
&lt;p&gt;Здесь   – сила трения Стокса. Возникает из-за действия вязких сил при взаимодействии между фазами.   – сила, связанная с воздействием «присоединённых масс», возникающая из-за ускорения движения включения относительно несущей среды, когда в последней возникают возмущения на расстоянии порядка размера включений. И,   – сила Бассэ-Буссинеска, действующая на сферу во флюиде в момент &lt;i&gt;t&lt;/i&gt; и зависящая от всей предыстории движения.&lt;br /&gt;
Для указанных сил можно записать следующие соотношения:&lt;/p&gt;
&lt;p&gt;Влияние формы частиц и структура среды учитывается в коэффициентах  ,   и  . Их значения следует выбирать при сопоставлении с реперным экспери-ментом.&lt;br /&gt;
Уравнение состояния вязкоупругого скелета можно представить в следующем виде:&lt;/p&gt;
&lt;p&gt;По определению, скорость деформации выражается через массовую ско-рость частиц деформируемой среды:&lt;/p&gt;
&lt;p&gt;Модули упругости скелета определим через скорость звука в скелете, соответствующими мгновенному и длительному модулям:&lt;/p&gt;
&lt;p&gt;где   - начальная приведённая плотность частиц скелета, Df*, De* – скорости звука в скелете. Данные соотношения обусловлены точностью эксперимен-тального определения скорости звука в скелете по сравнению с непосредствен-ным измерением модуля упругости. С теоретической точки зрения подобное представление модулей создаёт дополнительные возможности при построении моделей, учитывающих зависимости параметров среды от пористости. Примем, что твёрдые вещества – металлы, частицы горных пород, а также жидкости при действии всестороннего сжатия подчиняются линейному закону, поэтому для материалов фаз запишем следующие уравнения состояния:&lt;/p&gt;
&lt;p&gt;где   - скорость звука в материале i – ой фазы,  ,   - её  &lt;/p&gt;
&lt;p&gt;сжимаемость и начальная истинная плотность.&lt;br /&gt;
В соответствии с уравнением совместности деформаций имеет место и следующее равенство:&lt;/p&gt;
&lt;p&gt;Таким образом, получили систему уравнений, описывающую движение одномерной двухфазной среды:&lt;br /&gt;
&lt;img src=&quot;/files/files/lukin/risExp.jpg&quot; width=&quot;616&quot; height=&quot;304&quot; alt=&quot;Система уравнений&quot; align=&quot;center&quot; /&gt;&lt;br /&gt;
Вопросы гиперболичности, устойчивости и корректности задачи Коши применительно к системе дифференциальных уравнений двухскоростного дви-жения дисперсных сред рассматривались в работах [39-41, 73]. &lt;/p&gt;
&lt;h2&gt;Конечно-разностная аппроксимация системы уравнений&lt;/h2&gt;
&lt;p&gt;С целью численной реализации исходную систему уравнений (2.1.10) приведём к дивергентному виду. Для этого воспользуемся равенствами, следующими из определения полной производной и законов сохранения массы фаз. В результате получим следующую форму записи дифференциальных уравнений:&lt;/p&gt;
</description>
 <category domain="http://test.uimech.org/taxonomy/term/15">Лаборатория МТП</category>
 <category domain="http://test.uimech.org/taxonomy/term/3">Публикации</category>
 <pubDate>Tue, 12 Jan 2010 16:43:54 +0500</pubDate>
 <dc:creator>Serj</dc:creator>
 <guid isPermaLink="false">226 at http://test.uimech.org</guid>
</item>
<item>
 <title>Умные мысли из Интернета</title>
 <link>http://test.uimech.org/node/221</link>
 <description></description>
 <category domain="http://test.uimech.org/taxonomy/term/15">Лаборатория МТП</category>
 <category domain="http://test.uimech.org/taxonomy/term/30">Лукин С. В.</category>
 <category domain="http://test.uimech.org/taxonomy/term/3">Публикации</category>
 <pubDate>Mon, 21 Sep 2009 16:49:30 +0600</pubDate>
 <dc:creator>Serj</dc:creator>
 <guid isPermaLink="false">221 at http://test.uimech.org</guid>
</item>
</channel>
</rss>
