Главная  Журналы 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 [ 90 ] 91 92 93 94 95 96 97 98 99

Кстати, учет переменной толщины был продемонстрирован при использовании CONDUCT для частного случая. Рассматриваемая область с осесимметричной геометрией (MODE = 2) имеет размер по углу, равный 1 рад. Это значит, что толщина в некоторой точке расчетной области равна радиусу г, соответствующему этой точке. Как мы видели, изменение г влияло на соответствующие площади и объемы. Если модифицировать CONDUCT для учета произвольного изменения толщины, то геометрия области с MODE = 2 будет частным случаем, когда толщина равна радиусу.

Итерации на одном Ш1аге по времени. При решении стационарных нелинейных задач мы выполняли множество итераций, что позволяло учитывать нелинейности, пересчитывая коэффициенты. Однако на шаге по времени в нестационарной задаче коэффициенты не пересчитываются. Подразумевается, что зависимая переменная и, следовательно, коэффициенты меняются незначительно, особенно если шаг по времени мал. Обычно это так, но имеются «существенно» нелинейные задачи, для которых желательно проводить итерации на каждом шаге по времени. Можно изменить CONDUCT, введя дополнительный итерационный цикл.

Цена этих итераций довольно высока. В настоящее время мы не

сохраняем в компьютерной памяти отдельно старые ф/j и новые фр значения зависимой переменной. Имеется только один массив Е(1, J,NF), содержащий старые значения фр в начале шага гю времени. Когда рассчитываются новые значения фр, они заменяют содержание того же массива Е(1, J,NF). Так как нет никаких дополнительных итераций на этом временном шаге, то старые значения фр не нужны. Если же вы захотите ввести эти итерации, то

вам придется сохранять значения фр и фр в разных массивах.

В течение этих итераций фр останутся неизменными, а фр будут

итерационно меняться до достижения сошедшегося решения на этом временном шаге. Как только начнется следующий шаг по времени,

значения фр передаются в массив фр , а затем рассчитываются новые фр, соответствующие новому временному шагу.

Это дополнительное требование сохранения фр является основной причиной того, что в CONDUCT не реализованы итерации на одном шаге по времени.

Криволинейные ортогональные системы координат. В CONDUCT мы рассматривали сложные кривые границы, аппроксимируя



нх совокупностью прямоугольных ступенек. Эта процедура сохраняет преимущества использования прямоугольных сеток, но неудобна для очень сложных форм области. Программа CONDUCT может быть перестроена для работы в криволинейных системах координат так, что практически любая геометрическая форма области может быть представлена соответствующей криволинейной сеткой. Кроме некоторого усложнения расчета длин, площадей и объемов, основная структура CONDUCT останется неизменной. Модифицированная программа будет изящнее и точнее описывать произвольную форму.

Использование полярной системы координат (6, г) (mode = 3) является примером применения криволинейной ортогональной системы координат. В этом случае различные длины, площади и объемы являются простыми функциями от радиуса г. Она и должна быть расширена до обобщенной ортогональной системы координат.

Криволинейные неортогональные системы координат. Часто бывает сложно придумать ортогоначьную криволинейную систему координат для области заданной геометрической формы. В то же время легко построить неортогональные системы координат; в принципе они могут быть нарисованы даже вручную. Поэтому следующим шагом будет подготовка версии CONDUCT для случая неортогональной системы координат. В дополнение к усложнению геометрической части мы должны учесть и другую форму дискретных уравнений. Так как грань контрольного объема уже не будет перпендикулярна линии, соединяющей две расчетные точки, то поток через грань будет описываться более сложной формулой. Если вы заинтересовались такой возможностью, то можете обратиться к [1] и др.

Третье измерение. Если вы работаете с декартовой или полярно-цилиндрической системой координат, то расширение CONDUCT на три измерения не вызовет сложностей. При построении численного метода мы не использовали каких-либо предположений, которые ограничивались бы только двумерным случаем. В CONDUCT реализован метод для двумерного случая, но трехмерная реализация возможна с использованием тех же принципов. Конечно, переходя к решению трехмерных задач нужно быть готовым к значительным увеличениям компьютерной памяти и времени счета. Но это не является существенным ограничением для написания трехмерной версии. 284



12.5. ЗАКЛЮЧИТЕЛЬНЫЕ РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ ПРОГРАММЫ CONDUCT

Такая вычислительная программа, как CONDUCT, способствует приобретению навыков решения задач и углублению понимания физических процессов. Для того чтобы вы могли получить максимальную пользу, приведем некоторые рекомендации.

Хорошо ознакомьтесь с CONDUCT . Используйте программу для решения большого числа простых задач. Упражняйтесь, реализуя различные возможности программы. Решайте множество задач в дополнение к тем, что вас интересуют в настояшее время.

Двигайтесь от простого к сложному. Распространенная ошибка при использовании программы, подобной CONDUCT, заключается в ее применении сразу для решения очень сложной задачи. В этом случае неопытного пользователя может постигнуть неудача. Наилучшая стратегия заключается в том, чтобы начать с очень простой идеализации вашей итоговой задачи, добавлять только несколько усложнений за 1 раз и двигаться к заключительному решению сложной задачи, последовательно решая промежуточные задачи.

Всегда изменяйте уже существующую подпрограмму ADAPT. Неразумно писать адаптируемую часть программы «с нуля». Начинайте с уже существующей версии adapt, сделайте несколько изменений и протестируйте их. Таким образом постепенно постройте адаптируемую часть для задачи, которую надо решить.

Проверяйте точность. Численные решения, даже когда они выглядят разумными, не обязательно точны, если не используется большое число расчетных точек. Если вы хотите доверять численным значениям, полученным при расчетах, то должны убедиться, что у вас достаточно мелкая сетка. Дальнейшее уменьшение размера сетки не должно приводить к ощутимому изменению решения. Используйте также проверку выполнения законов сохранения и сравнивайте (если возможно) ваши численные результаты с точными решениями.

Создавайте подобающий вывод результатов. В каждой физической задаче существуют величины, представляющие основной интерес. Выводя их на печать, вы тем самым фокусируете внимание на основном результате решения. По этим характеристикам вы также быстро сможете проверить разумность рассчитанных значений.

Изучайте результаты. В этой книге мы не раз обсуждали возможность использования численных решений для углубления понимания физических явлений. Когда вы настраиваете CONDUCT для решения конкретной задачи, у вас есть некоторые прогнозы по поводу результатов. Вы должны изучать полученные результаты и сопоставлять их с ожидаемыми. Случается, что результаты на первый взгляд удивляют, но тщательное их изучение позволит вам изменить





0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 [ 90 ] 91 92 93 94 95 96 97 98 99