Главная страница
Навигация по странице:

  • Раздел Coordinates

  • Раздел Definitions

  • Раздел Initial values

  • Раздел Equations

  • Раздел Constraints

  • Раздел Extrusion

  • Раздел Boundaries

  • Подраздел REGION

  • Подраздел EXLUDE

  • Подраздел FEATURE

  • Раздел Monitors является необязательным и используется, чтобы перечислить промежуточные графики, которые выводятся в про- цессе решения задачи. Раздел Plots

  • маслов. Практикум предназначен для проведения лабораторных занятий и са мостоятельной работы студентов факультета Ф, обучающихся по спе циальности Ядерные реакторы и энергетические установки


    Скачать 1.6 Mb.
    НазваниеПрактикум предназначен для проведения лабораторных занятий и са мостоятельной работы студентов факультета Ф, обучающихся по спе циальности Ядерные реакторы и энергетические установки
    Анкормаслов
    Дата14.06.2021
    Размер1.6 Mb.
    Формат файлаpdf
    Имя файлаYU_A_Maslov_I_G_Merinov_N_O_Ryabov_Modeliro_BookSee_org.pdf
    ТипПрактикум
    #217300
    страница7 из 12
    1   2   3   4   5   6   7   8   9   ...   12
    Раздел Title
    является необязательным и может содержать одну ли- теральную строку. В случае присутствия данного раздела в сцена- рии литеральная строка используется как метка заголовка для вы- водимых графиков.
    Раздел Select
    не является обязательным и используется, когда не- обходимо ввести или отменить некоторые внутренние параметры.
    Переменные в данном разделе используются для управления про- цессом расчета и имеют предопределенные имена. Некоторые пе- ременные, доступные пользователю в Select, приведены в табл. 3.2.
    Таблица 3.2
    Название
    Значение по умолча- нию
    Назначение
    ASPECT 4 -
    Максимальный коэффициент сжа- тия ячейки
    AUTOHIST
    On
    Заставляет графики перерисовы- ваться во время расчета
    AUTOSTAGE
    On
    Устанавливает отсутствие паузы при расчете

    78
    Окончание табл. 3.2
    Название
    Значение по умолча- нию
    Назначение
    COLORCYCLE
    32
    Максимальное количество цветов
    CONTOURS
    15
    Число уровней на контурных гра- фиках
    CUBIC
    On
    Устанавливает использование куби- ческих базисных функций
    DEBUG(GRID)
    Off
    Показывать процесс отображения сетки
    ERLIM
    0.001
    Точность расчета
    FONT
    1
    Устанавливает тип шрифта
    NODELIMIT
    800
    Максимальное число узлов решения
    NONLINEAR
    AUTOMATIC Устанавливает нелинейный метод решения, даже если автоматический процесс расчета этого не требует
    PAINTED
    Off
    Отображение заполненных цветом контурных графиков
    REGRID
    On
    По умолчанию FlexPDE осуществ- ляет адаптивное усовершенствова- ние расчетной сетки
    QUADRATIC
    On
    Устанавливает использование квад- ратичной базисной функции
    STATUSMESH
    On
    Расчетная сетка показывается в
    Mesh Window
    NGRID
    10
    Определяет число ячеек сетки в максимальном измерении
    Раздел Coordinates
    (необязательный) определяет систему коорди- нат для конкретной задачи. При этом раздел задается в следующем виде:
    COORDINATES ,

    79 где <geom> – тип задаваемой системы координат, может быть лю- бой из видов, указанных в табл. 3.3.
    Таблица 3.3
    Название
    Значение
    CARTESIAN
    Декартовы координаты ‘X’ и ‘Y
    XCYLINDER
    Цилиндрические координаты с осевой коорди- натой ‘Z’, находящейся на горизонтальной гра- фической оси ‘X’, и радиальной координатой
    R’, находящейся на вертикальной графической оси ‘Y’.
    YCYLINDER
    Цилиндрические координаты с радиальной ко- ординатой ‘R’, находящейся на горизонтальной графической оси ‘X’, и осевой координатой ‘Z’, находящейся на вертикальной графической оси
    Y’.
    CARTESIAN3
    Декартовы координаты ‘X’, ‘Y’ и ‘Z’.
    В данном разделе можно произвести переименование коорди- нат, в этом случае используется следующая запись:
    COORDINATES (‘Xname’, ‘Yname’, {‘Zname’}).
    При этом применение переименования вызывает переопределе- ние дифференциальных операторов.
    Раздел Variables
    используется для определения переменных, ис- пользуемых в сценарии. Каждая переменная определяет непрерыв- ное скалярное поле по расчетной области. При задании имен пере- менных применяются следующие правила:
    − Имена переменных должны начинаться с алфавитного символа.
    Они не могут начинаться с цифры или символа.
    − Имена переменных должны быть уникальными и отличаться от символа t, который зарезервирован для переменной времени.

    80
    − Имена переменных могут иметь любую длину и любую комби- нацию символов, цифр и (или) символов, отличных от зарезер- вированных слов.
    − Имена переменных не должны содержать любые разделители.
    Составные имена могут быть сформированы с использованием символа ‘_’.
    − Имена переменных не могут содержать ‘–’, который зарезерви- рован для знака ‘минус’.
    При этом программа не различает заглавные и строчные буквы, так переменная X и x обозначают одно и то же.
    Раздел Definitions
    используется, чтобы объявить и назначить на- звания констант и функций, используемых в сценарии. При описа- нии переменных в данном разделе придерживаются тех же правил, что и в разделе Variables. Дополнительно здесь возможно задание массивов или списков значений в форме:
    =ARRAY [, , ….. ], например,
    Xk=ARRAY (1, 2, 3, 4, 6.5).
    Значения, заданные в списке, должны быть натуральными чис- лами. Они не могут содержать координатные или зависимые пере- менные.
    Использование средства ARRAY демонстрирует следующий пример:
    DEFINITIONS
    Xc=arraу (1/3, 2/3, 3/3, 4/3, 5/3) {Список Х-координат}
    Yc=arrаy (1/3. 2/3, 3/3. 4/3, 5/3) {Список Y-координат}
    BOUNDARIES
    Region 1
    for i=1 to 5 {Индексированный цикл на Х-позиции}
    for j=1 to 5 {Индексированный цикл на Y-позиции}
    Start (хс [i] +rad, ус [jJ) {Массив точек}

    81
    Arc (center=xc [i], ус [j]) angle=360 {сведенных в таблицу коорди- нат}
    Endfor
    Endfor
    Раздел Initial values
    используется при решении нестационарных задач, когда необходимо задать начальное значение для времязави- симых переменных. В выражении за именем переменной стоит оператор назначения ‘=’, а справа константа, функция, выражение или предварительно введенное определение, например:
    Initial values
    Xk=25-x
    Раздел Equations
    используется, чтобы перечислить дифференци- альные уравнения в частных производных, которые определяют зависимые переменные решаемой задачи. Уравнения, вводимые в сценарий, записываются в естественной форме, используя операто- ры табл. 3.4.
    Таблица 3.4
    Команда, функция или кон- станта
    Синтаксис
    Название
    CURL
    CURL(X)
    Ротор числа X
    DEL2
    DEL2 (X)
    Лапласиан числа X, эквивалентный
    Div(Grad(X))
    DIV
    DIV(X)
    Дивергент числа X
    GRAD
    GRAD(X)
    Градиент числа X

    DX()
    Дифференциальный оператор по X
    DXX
    DXX()
    Вторая производная по X
    В случае решения задачи, включающей в себя бигармонические уравнения, которые требуют использования более высоких поряд- ков производных, они должны быть переписаны, используя проме-

    82 жуточные переменные так, чтобы содержать только производные второго порядка.
    Раздел Constraints
    является необязательным и используется, чтобы применить дополнительные интегральные связи к решаемой систе- ме. Эти связи используются для устранения неоднозначности, ко- торая может возникнуть в установившихся системах, или в случае, если граничные условия содержат только производные зависимых переменных.
    Раздел Constraints обычно содержит один или большее количе- ство инструкций вида
    Integral(argument) = Expression
    Раздел Extrusion
    используется при решении дифференциальных уравнений, когда в качестве областей решения рассматриваются объемные 3D-объекты.
    В качестве примера рассмотрим часть сценария, отвечающую за задание расчетной области в виде цилиндра радиусом R0 и высо- той, равной единице.
    EXTRUSION
    SURFACE Z = 0{Нижняя граница по оси Z}
    SURFACE Z = 1{Верхняя граница по оси Z}
    BOUNDARIES
    SURFACE 1 VALUE(U) = 100 {Задаем граничные условия снизу}
    SURFACE 2 VALUE(U) = 0 {Задаем граничные условия сверху}
    REGION 1
    START (R0,0)
    ARC(CENTER=0,0) ANGLE=360 TO CLOSE {Задаем форму основа- ния}
    Результат выполнения данного кода иллюстрирует рис. 3.3.

    83
    Рис. 3.3. Расчетная область в виде цилиндра
    Раздел Boundaries
    (обязательный) используется, чтобы описать двумерную область или проекцию трехмерной области на основ- ную плоскость и присоединить граничные значения и внешние ис- точники на физических границах задачи. В FlexPDE осуществует два основных типа задания граничных условий – VALUE и
    NATURAL. В граничные условия в форме VALUE (или по Дирихле) определяется значение, которое должна принять переменная на границе области решения. В граничных условиях в форме
    NATURAL задается значение потока на границе области решений.
    Кроме того, используется условие типа NOBC. Это условие приме- няется, чтобы выключить предварительно указанное граничное ус- ловие. Оно эквивалентно условию NATURAL (VARIABLE)=0.
    FlexPDE позволяет также моделировать наличие скачкообразно- го изменения переменных на границах, вызванного, например, кон- тактным термическим или электрическим сопротивлением. Для этого используются инструкции вида CONTACT
    и
    JUMP. Условие

    84
    CONTACT – это специальная форма условия NATURAL, которая означает, что на границе определяются вместо одного два значения неизвестной величины и ее поток пропорционален разнице этих значений. Разница значений задается с помощью JUMP. Например, если на границе существует контактное термическое сопротивле- ние, то граничное условие будет:
    T
    R
    T
    T
    n
    T
    2 1

    =


    λ

    r
    , где R
    T
    – кон- тактное термическое сопротивление, а nr

    нормаль к граничной поверхности. Это условие будет записано в
    FlexPDE
    следую- щим образом:
    CONTACT(T)
    =
    JUMP(T)
    /R
    T
    Отметим, что задание условия CONTACT на внутренней границе области приводит к дублированию узлов сетки на границе. Эти дубликаты связаны между собой условием JUMP.
    В пределах Boundaries физическая область делится на части
    Region
    , Features и Exlude (подразделы). Каждый прикладной описа- тель должен иметь, по крайней мере, один подраздел Region.
    Подраздел REGION
    используется, чтобы описать замкнутые об- ласти, которые составляют физическую геометрию задачи в дву- мерной плоскости, или двумерные проекции на основную плос- кость в трехмерных задачах. Подразделы REGIONS включают об- ласти и подобласти с заданными материальными параметрами.
    Подразделы REGION начинаются с зарезервированного слова
    START
    , сопровождаемого физическими координатами отправной точки, затем описываются границы области, которые задаются прямолинейными отрезками или дуговыми сегментами, и замыка- ется область зарезервированным словом CLOSE. Координаты име- ют стандартную математическую форму (X, Y). Среди возможных графических примитивов используемых во FlexPDE существуют примитивы, указанные в табл. 3.5.

    85
    Таблица 3.5
    Примитив Синтаксис
    Название
    LINE
    LINE TO (X,Y)
    Линия от точки START до точки с координатами (X, Y)

    LINE TO (X,Y)
    TO (X1,Y1)
    TO (X2,Y2) TO …
    Полилиния, проходящая через точки с координатами (X, Y), (X1,
    Y
    1), (X2, Y2) и др.
    ARC
    ARC TO (X1,Y1)
    TO (X2,Y2)
    Дуга от точки с координатами (X1, Y1) до точки с координатами (X2, Y2)

    ARC (RADIUS=R)
    TO (X,Y)
    Дуга радиусом R до точки с ко- ординатами (X, Y)

    ARC (CEN-
    TER=X1,Y1) TO
    (X2,Y2)
    Дуга с центром в точке с коорди- натами (X1,Y1), проведенная до точки с координатами (X2, Y2)

    ARC (CEN-
    TER=X1,Y1) AN-
    GLE=angle
    Дуга с центром в точке с коорди- натами (X1, Y1), проведенная на угол angle (в градусах)
    Подраздел EXLUDE
    (исключение) используется, чтобы описать замкнутые области, который имеют пересекающиеся части в одном или большем количестве подразделов REGION. Область, описанная подразделом EXLUDE, исключается из системы расчета. Подразде- лы EXLUDE, должны следовать за подразделами REGION, которые они перекрывают.
    Подразделы EXLUDE описываются тем же самым способом, как и подразделы REGION, и могут использовать также LINE и ARC
    сегменты.
    В качестве примера можно рассмотреть следующий код:
    REGION 1
    {Задаем исходную расчетную область в виде квадрата}
    START(-1,-1)
    VALUE(U)=U0
    LINE TO (1,-1) TO (1,1) TO (-1,1) CLOSE
    EXCLUDE
    {Удаляем из расчета треугольную область}

    86
    START(-1,-1)
    LINE TO (0,0) TO (1,-1) TO (-1,1) CLOSE
    Результат выполнения данного кода иллюстрирует рис. 3.4.
    Рис. 3.4. Расчетная область, построенная с использованием подраздела EXLUDE
    Подраздел FEATURE
    используется, чтобы описать незамкнутые объекты, которые не включают подобласть с определимыми мате- риальными параметрами. Подразделы FEATURE формируются тем же самым способом, как и подразделы REGION, и могут использо- вать также LINE и ARC сегменты. Подразделы FEATURE не закан- чиваются резервным словом CLOSE.
    Подразделы FEATURE используются, когда проблема имеет внутренние линейные источники, когда желательно вычислить ин- тегралы по нерегулярному пути, или когда требуется явное управ- ление вычислительной сеткой. Пример применения данного под- раздела иллюстрирует следующий программный код:
    REGION 1
    {Задаем расчетную область в виде квадрата}
    START(0,0) LINE TО (10,0) TO (10,10) TO (0,10) TO FINISH
    FEATURE
    {Задаем линию сетки}

    87
    START(0,0) LINE TO (10,10)
    При применении данных подразделов следует помнить, что все подразделы REGIONS должны быть перечислены прежде, чем бу- дут упомянуты подразделы EXLUDE или FEATURE. Соответствен- но подразделы EXLUDES должны быть перечислены до подразде- лов FEATURE.
    Подразделы REGION, EXLUDE и FEATURE могут иметь как численное, так и буквенное обозначение имен. В случае использо- вания в качестве имени указанных подразделов цифровых обозна- чений, номера должны назначаться в порядке возрастания, начиная с первого. Более предпочтительным является задание имен подраз- делов в виде чисел.
    Однако, если в сценарии ставится задача вывода значения объ- емного интеграла для произвольной области, то в этом случае це- лесообразно задавать имена подразделов литеральными символа- ми. В случае задания таких имен они должны иметь форму цити- руемой строки и быть помещены немедленно после зарезервиро- ванного слова REGION, EXLUDE или FEATURE. Назначенные имена должны быть уникальны в подразделах REGION, EXLUDE и
    FEATURE.
    Ранее были рассмотрены граничные условия, заданные для сег- ментов LINE и ARC. В дополнение к указанным граничным услови- ям во FlexPDE имеет возможность задания граничных условий для отдельных точек в форме VALUE и LOAD.
    Граничные условия в форме VALUE для точки задаются посред- ством инструкции POINT VALUE (точечные граничные условия).
    Синтаксис данной инструкции иллюстрирует следующий пример
    :
    POINT VALUE(VARIABLE) = Expression
    Данная инструкция указывается после координатной специфика- ции. Заданное значение граничных условий будет наложено только на точку, координаты которой определены предшествующей спе- цификацией.
    Граничные условия вида POINT LOAD могут быть добавлены, помещением следующего программного кода:

    88
    POINT LOAD(VARIABLE) = Expression
    Данная инструкция указывается после координатной специфика- ции. Заявленные граничные условия будут наложены только на точку, координаты которой, определенной предшествующей спе- цификацией.
    При решении задач для 3D-объектов иногда необходимо опре- делить различные отверстия или исключенные области в расчетной области. Это может быть сделано с использованием инструкции
    VOID
    . VOID имеет синтаксис переопределения параметра. Напри- мер, следующий фрагмент кода показывает использование инст- рукции VOID:
    EXTRUSION Z=0,1,2,3
    BOUNDARIES
    REGION 1
    START(0,0) LINE TO (3,0) TO (3,3) TO (3,0) TO CLOSE
    REGION 2
    LAYER 2 VOID
    START(1,1) LINE TO (2,1) TO (2,2) TO (2,0) TO CLOSE
    Рис. 3.5 и 3.6 иллюстрируют изменение в расчетной области в результате применения данного программного кода.
    Раздел Time
    используется в нестационарных прикладных описате- лях, чтобы определить диапазон времени. Во FlexPDE поддержи- ваются следующие альтернативные формы задания временного диапазона:
    FROM time1 TO time2
    FROM time1 INCREMENT TO time2
    FROM time1 TO time2 increment
    Здесь time1 – начальное время; time2 – конечное время; increment – необязательная спецификация начального шага по времени.

    89
    Рис. 3.5. Исходная расчетная область
    Рис. 3.6. Расчетная область, в которой посредством инструкции VOID
    исключен один слой
    Раздел Monitors
    является необязательным и используется, чтобы перечислить промежуточные графики, которые выводятся в про- цессе решения задачи.
    Раздел Plots
    является необязательным и используется, чтобы пере- числить окончательные графики, которые будут выведены на экран по завершению решения задачи. Раздел Plots отличается от раздела
    Monitors
    так же тем, что графики первого могут быть записаны в файл с расширением .PGX для последующего отображения после выполнения задачи.
    Инструкции Plots и Monitors имеют одинаковую форму и функ- ции. Разделы Monitors или Plots могут содержать один или большее количество спецификаций экрана следующих типов:

    90
    СONTOUR (arg) –
    выполняет вывод двухмерного контурного гра- фика параметра (arg), с однородными интервалами уровня пара- метра.
    ELEVATION(arg1, [arg2,...])

    выполняет вывод двухмерно- го графика, который отображает значение параметра(ов) верти- кально по оси Y а горизонтально (ось X) область локализации неза- висимой переменной.
    GRID (arg1, arg2) –
    рисует двухмерную сетку вычислений с узло- выми координатами, определенными двумя параметрами.
    SUMMARY('string') –
    этот графический тип определяет текстовую страницу, содержащую информацию о данных, введенных в тек- стовой строке.
    VECTOR(arg1, arg2) –
    рисует двухмерное поле направленных стре- лок, в которых X- и Y-компоненты стрелок задаются arg1 и arg2.
    Вид любого экрана может изменяться путем прибавления одно- го или нескольких предложений вида:
    AS 'string' –
    изменяет метку на экране на выражение, указанное в строке.
    EXPORT –
    записывает на диске файл, содержащий данные, пред- ставленные в разделах Monitors или Plots.
    INTEGRATE
    – возвращает значение интеграла от функции, изобра- женной на графике.
    LIN, LOG, LINLOG, LOGLIN, LOGLOG
    данные спецификаторы изменяют заданные по умолчанию линейные масштабы вывода графиков на специальные. Команда масштабирования состоит или из отдельного слова или составного слова.
    В случае использования односложного слова, например, LIN – это означает задание линейного масштаба отображения графиков, в случае задания LOG графики будут иметь логарифмические оси.
    При использовании составных слов (LINLOG, LOGLIN, LOGLOG) первое слово применяет к логической оси X, второе – к логической оси Y и так далее.
    NOTIPS –
    данный спецификатор отображает графики типа Vector
    как отрезки без стрелок.
    PAINTED –
    заполняет области между контурными линиями цветом.

    91
    Любая спецификация экрана может сопровождаться одним или большим количеством следующих предложений с целью прибав- ления сообщений к графикам:
    REPORT expression –
    данная спецификация добавляет внизу графи- ка текст 'text expression=value expression', где expression – любое выражение, включая выражения, содержащие интегралы.
    В дополнение можно отметить, что в нестационарных задачах спецификациям экрана должна предшествовать инструкция, регла- ментирующая вывод графиков. Эта инструкция может иметь лю- бую из нижеприведенных форм:
    FOR CYCLE = number –
    в этом случае графики будут обновляться на каждом указанном временном шаге.
    FOR T = timeset1 [ timeset2 ... ] –
    каждый timeset (временной шаг) может быть или определенным временем или группой временных шагов, указанных как массив значений.
    1   2   3   4   5   6   7   8   9   ...   12


    написать администратору сайта