Главная Журналы цедуре не применялось линейное выражение для источникового члена [см. (2.41) и (5.13)], то большинство из этих удобных способов было бы недоступно. 10. Наконец, использование неактивных контрольных объемов для представления областей со сложной геометрией является в ряде случаев недопустимо расточительным приемом, потому что бессмысленные значения переменных в этих объемах сохраняются в памяти и над ними производятся арифметические действия. Тем не менее то, что программа, имеющая все преимущества работы с простыми областями, может быть также применена к областям сложной геометрической формы, представляет существенную практическую ценность. 7.8. Рекомендации по начальной работе с программой Сейчас, когда описание программы CONDUCT уже завершено, можно рассмотреть множество возможных ее применений. При этом очень важно приобрести опыт в ее использовании. Поэтому трудно переоценить необходимость начальных пробных исследований. Такие исследования полезны при изучении как поведения физической задачи, так и особенностей самой программы. Они могут быть выполнены с использованием грубых сеток, что уменьшит время расчетов и облегчит изучение результатов. Для решения любой задачи не начинайте писать подпрограмму ADAPT «с нуля». Вы всегда должны начинать с одного из имеющихся примеров ADAPT и шаг за шагом изменять его, пока не запрограммируете нужную задачу. Адаптируемую часть необходимо периодически тестировать после нескольких изменений. Тогда, если результаты нежелательны, легко можно обнаружить, какие изменения «ответственны» за возникшую проблему. Должно быть подавлено искушение перейти сразу к сложным задачам. Подпрограмма ADAPT и ваш опыт должны постепенно расти, чтобы потом достичь удачного решения физической задачи. Даже здесь «Walk before you run» (иди, прежде чем бежать) продолжает оставаться мудрой политикой. В демонстрационных примерах используемые сетки достаточно грубы. Это сделано для того, чтобы избежать громоздкого вывода результатов. Для начальной работы с CONDUCT вам также лучше использовать грубые сетки. Однако разумные результаты, полученные на грубых сетках, не должны рассматриваться в качестве точных решений дифференциальных уравнений. Если требуются точные численные значения, то вы должны использовать существенно более мелкую сетку. Для некоторого заданного типа задач нужно определить, насколько мелкой должна быть сетка, чтобы дальнейшее уменьшение ее характерных размеров существенно не влияло на ре- шение. Для нестационарных задач шаг по времени At также должен быть достаточно мал для получения точного решения. В заключение заметим: вы не должны забывать, что вычислительная программа, такая как CONDUCT, является просто инструментом для решения системы дифференциальных уравнений численным методом. Если уравнения удовлетворительно описывают реальность, то рассчитанные результаты очень полезны. Однако, когда математическая модель сомнительна, то результаты вычислений настолько же «хороши», насколько лежащие в их основе уравнения. В таких случаях желательно провести некоторую экспериментальную проверку, которая часто приводит к дальнейшей доработке и корректировке математической модели. Нет безусловных гарантий того, что итерационный метод, используемый в CONDUCT, приведет к сходимости решений для всех типов нелинейностей. Несмотря на это, вы можете черпать надежду из эмпирически доказанного факта, что программа позволяет решать очень большое число сложных задач. Подобный успех ожидает и вас. 7.9. Введение в примеры Главы 8, 10 и 11 содержат примеры применения CONDUCT для решения задач стационарной и нестационарной теплопроводности, полностью развитого течения, теплопереноса в каналах и др. Обсудим некоторые общие характеристики всех этих примеров. Примеры применения CONDUCT, данные в книге, иллюстрируют, как многоцелевая вычислительная программа может быть использована для решения множества прикладных задач. Примеры разработаны для помощи студентам в учебном процессе, поэтому служат той же цели, что и решение задач в большинстве учебников. Каждая задача выбрана для акцентирования внимания на нескольких специальных возможностях программы. Другие усложнения намеренно сведены к минимуму. Так как простота чрезвычайно важна для изучения, то стиль программирования в подпрограмме ADAPT часто сохранен в грубоватой, необобщенной и немного неэффективной форме. Оптимальных, эффективных и обобщенных действий алгоритма мы умышленно избегаем, так как они сложны для понимания. По этой же причине не используется оператор READ, а числовые данные задаются напрямую в подпрограмме ADAPT. Это значит, что мы должны перекомпилировать подпрограмму каждый раз, когда нужно ввести изменения в данные. Да, это так, но в демонстрационных приложениях мы добивались ясности и простоты, а не эффективности. Физические задачи, выбранные в качестве примеров, значения величин, единицы измерения, свойства жидкости и др. не обязатель- но имеют практический смысл. Часто задачи специально придуманы для иллюстрации некоторой вычислительной особенности. Предположения о физических процессах могут не иметь место в действительности. В большинстве случаев целью является демонстрация методов решения задачи с помошью программы, а не выбор задачи, которая важна в инженерной практике. Постановка задач теплопроводности (см. гл. 8) и результаты приведены в размерных величинах. В случае задач о течении в каналах (см. гл. 10) целью является анализ решения в безразмерном виде. Когда задаются значения физических величин, например, теплопроводности или источникового члена, используются простые числа {к = 2, S = 5) и не приводятся единицы измерения. При практическом применении CONDUCT нужно использовать реальные значения свойств материала в некоторой удобной системе единиц измерения. Однако для реализации целей, которые преследует эта книга, нет никаких особых преимуществ в задании материала в виде алюминия с теплопроводностью 204 Вт/(м • К). Все рещения в примерах получены с использованием одной частной сетки. Не проведено улучшение сетки, чтобы убедиться в том, что численное решение достаточно близко к точному. В большинстве примеров не применялся критерий сходимости для прерывания последовательности итераций, вмесго этого было заранее задано число итераций и рассматривалось приближение к сошедшемуся решению. Это не значит, что улучшение сетки и использование критерия сходимости не важны. Предполагается, что эти проблемы будут изучены вами самостоятельно. Следует внимательно изучить все примеры в книге. Описания, данные в главах 8, 10 и 11, содержат всю основную информацию, но вы должны попытаться понять каждую строку в подпрограмме ADAPT. Первые несколько примеров рассмотрены очень подробно, в последующих примерах обсуждаются только дополнительные особенности. После изучения представленных примеров желательно поэкспериментировать с программой, внеся небольшие изменения в исходные данные. Подобное первоначальное знакомство с процессом решения задачи и поведением программы очень полезно. Вы должны побороть искушение сразу перейти к сложным приложениям, представляющим практический интерес. Когда фаза обучения закончена, необходимость в легких для понимания и, возможно, неэффективных формах адаптируемых подпрограмм теряет актуальность. Для заданного класса задач могут быть написаны более общие и эффективные процедуры. Если вы собираетесь много раз запускать программу, то для нее желательно построить специальную автоматическую версию ADAPT, в которой необходимые данные получаются интерактивно с использованием оператора READ или файла данных. 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 |