(U4.01.00) Как читать документацию по командам

Материал из ru.wiki.laduga.ru
Перейти к: навигация, поиск


Краткий обзор:

Данная инструкция представляет собой справочник по интерпретации выпусков U4 и U7 Руководства по эксплуатации.

Инструкция разъясняет значение метасимволов и правила оформления текста, используемые при описании синтаксиса команд.

Все приведенные ниже примеры даны в качестве иллюстрации и не заменяют полного описания команд, имеющегося в выпусках U4 и U7.

1 Синтаксис команд кода Code_Aster

Язык машинных команд и программа-супервизор полностью описаны в документе (U1.03.01). В данном документе приведены лишь несколько понятий о синтаксисе команд кода Code_Aster.

В коде Code_Aster, родовое понятие команд одновременно обозначает операторов, процедуры и макрокоманды языка машинных команд. Оператор поставляет типовое созданное (оператором) понятие, пользователь присваивает этому понятию имя. Процедура не создает готовых понятий, она выполняет действия, а именно: печать и распределение ресурсов.

В примере ниже вы найдете термины, используемые при описании команд.


U4.01.00 1.PNG


Терминология Aster

Один операнд таким образом состоит из ключевого слова и его аргумента. Однако в документации по командам операнды одного оператора или одной процедуры часто обозначаются именем ключевого слова. Например: RHO, простое ключевое слово, или ELAS, ключевое слово фактор.

Термин созданного понятия генерируется для всех операторов, это результат работы оператора.

В примере DEFI_MATERIAU, создается структура данных типа mater (материал), названный пользователем бетон. Структура объединяет наименования (ключевое слово E, NU, RHO) и значения (аргументы 3.4E10, 0.25, 2500.) механические характеристики эластичного (ключевое слово фактор ELAS) материала.

Термин понятие типа результат применяется к результатам вычислений операторов, то есть к полям физических величин (смещения, температуры, напряжения, усилия, состояния и т.д. …) по узлам или по ячейкам в различные моменты времени или на разных частотах.

Понятие результат обычно включает подтипы.



2 Типовой план документов по использованию команд

Документ, содержащий описание команды, включает следующие главы:

  • Цель,
  • Синтаксис,
  • Операнды,
  • Примеры (по возможности).

Данная презентация позволяет пользователю найти в одном документе всю необходимую информацию по применению команды.



3 Параграф Цель

Содержит сведения о возможностях операционной системы, используемых по команде (выполненные действия). Уточняет типы вводимых понятий и созданного понятия, а также особенности команды. Данный параграф выводится на экран через поисковые системы; он содержит только текст без уравнений и формул.

Например: Оператор STAT_NON_LINE (U4.51.03)

Цель:

Рассчитать изменение механических квазистатических свойств материала (нелинейный анализ).

Нелинейность связана со свойствами материала (например пластмасса), или же с геометрией (например, значительное смещение). Дополнительная информация об используемом методе решения содержится в справочной документации (R5.03.01).

Оценка может производиться по результатам нескольких последовательных работ (вновь вводимое понятие), или же последовательно (последний расчетный момент является начальным моментом следующего расчета), или же повторно: точкой отсчета служит предыдущий момент.

Если время, выделенное для осуществления расчетов, недостаточно, программа прерывается, но результаты расчетов сохраняются, если база данных специфицирована в профиле проектирования пользователя. Создание структуры данных типа evol_noli.



4 Параграф Синтаксис

В данном параграфе приведен набор операндов команд. При помощи метасимволов и выбранного стиля отступов для типографского представления команд (ср. например оператор AFFE_MATERIAU) для каждого операнда уточняются:

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

U4.01.00 4.PNG

Представление синтаксиса (частичное) оператора AFFE_MATERIAU

4.1 Метасимволы статуса операндов ( ♦ ◊ / | )

Для указания статуса операндов используются четыре метасимвола. Под статусом операндов следует понимать их обязательное или факультативное описание и характер альтернативных метасимволов при выборе операндов.

Эти метасимволы не являются частью языка машинных команд. Их функция заключается в документальном представлении информации, не следует их использовать при составлении файла машинных команд.

4.1.1 Обязательные и факультативные операнды

Их легко отыскать по наличию в начале черного или белого ромба.

♦ черный ромб: необходимо в обязательном порядке записать в команду один или несколько операндов, которые следуют за этим знаком.
◊ белый ромб: запись одного или нескольких операндов, следующих за этим знаком, необязательна. В случае отсутствия операнда команда выберет одно или несколько значений по умолчанию.

Например: оператор DEFI LIST ENTI (уточнение списка целых возрастающих чисел, значения которых равномерно распределены)

   li = DEFI_LIST_ENTI
                   ( ♦ DEBUT = deb ,
                     ◊ INTERVALLE = _F ( ♦ JUSQU_A = if ,
                                         ♦ PAS = ipas,
                                       )
                   )
  • В обязательном порядке необходимо внести указанный операнд при помощи ключевого слова DEBUT и предоставить deb, который станет первым целым числом в составляемом списке.
  • Не обязательно вносить указанный операнд при помощи ключевого слова фактора INTERVALLE. В этом случае список целых чисел ограничится одним целым числом, имеющим значение deb (это уточняется в описании операндов).
  • Если операнд INTERVALLE внесен, тогда в обязательном порядке нужно внести операнд JUSQU_A, уточняющий конец списка целых чисел if прерываемого интервала с постоянным шагом и операнд PAS, который указывает шаг ipas прерывания интервала.

4.1.2 Альтернативные метасимволы при выборе операндов

Их легко отыскать по наличию в начале каждого списка альтернативных метасимволов:

  • значка / (слеш): альтернативный эксклюзивный метасимвол, единственно возможный из предложенных,
  • значка | (пайп, точка с запятой): неэксклюзивный альтернативный метасимвол, выбор одного или нескольких метасимволов из предложенных.

Пример эксклюзивного альтернативного метасимвола: оператор AFFE_ MODELE (распределение типа законченных элементов по всей или части ячеистой структуры).

   mo = AFFE_MODELE (
        ♦ MAILLAGE = ma
        ♦ AFFE = _F ( ♦ / TOUT = 'OUI',
                        / MAILLE = mail , [l_maille]
                        / NOEUD = noeu , [l_noeud]
                        / GROUP_MA = g_mail , [l_gr_maille]
                        / GROUP_NO = g_noeu , [l_gr_noeud]
                 ...............
                    )
                        ) ;

В операнде AFFE (обязательный) нужно указать, в какое место ячеистой структуры будет распределен тип законченного элемента, уточняемого в операндах PHÉNOMÈNE и MODÉLISATION одной и той же команды:

  • в ячеистой структуре (TOUT, ВЕЗДЕ),
  • в некоторые ячейки (MAILLE, ЯЧЕЙКА),
  • в некоторые узлы (NOEUD, УЗЕЛ),
  • в некоторые группы ячеек (GROUP_MA),
  • в некоторые группы узлов (GROUP_NO),

Пример неэксклюзивного альтернативного метасимвола:

оператор AFFE_CHAR_MECA операнд DDL_IMPO (распределение обязательных смещений в зависимости от степени свободы).
   DDL_IMPO = _F( ♦ / TOUT = 'OUI',
                    / NOEUD = lno , [l_noeud]
                    / GROUP_NO= lgno, [l_gr_noeud]
                    / MAILLE = lma , [l_maille]
                    / GROUP_MA= lgma, [l_gr_maille]
                  ♦ | DX = ux , [R]
                    | DY = uy , [R]
                    | DZ = uz , [R]
                    | DRX = € x , [R]
                    | DRY = € y , [R]
                    | DRZ = € z , [R]
                    | GRX = g , [R]
                    | PRES= p , [R]
                    | PHI = € , [R]
                    | TEMP= T , [R]
                    | PRE1= pr1 , [R]
                    | PRE2= pr2 , [R]
                )

В данном операторе необходимо уточнить в обязательном порядке:

  • области применения в ячеистой структуре: везде (TOUT), в некоторых узлах (NOEUD) или в некоторых группах узлов (GROUP_NO),
  • для определенных степеней свободы и значений, заданных пользователем.

Метасимвол | указывает, что пользователь может задать значение смещения для одной (символ ♦ указывает, что необходим по крайней мере одно значение) или нескольких степеней свободы (DX, DY, DZ, DRX, DRY, DRZ, GRX, PRES, PHI, TEMP, PRE1, PRE2) заранее обозначенных узлов.

4.1.3 Комбинации метасимволов при выборе операндов

Данные метасимволы могут комбинироваться для иллюстрации множества метасимволов при выборе некоторых командах.

Например: команда DEFI_MATERIAU (определяет материал по его свойствам)

Для изучения термомеханических свойств необходимо дать определение материала, обладающего одновременно механическими и (ELAS) тепловыми свойствами (THER), для этого используется значок пайп: |

Но при каждом выборе необходимо указать, если свойства материала зависят (или нет) (_FO) от температуры; для этого используется значок слеш: / ; ср. ниже:

   ma = DEFI_MATERIAU ( | / ELAS = _F ( ♦ E = yg,
                                        ♦ NU = nu,
                                        ◊ RHO = rho,
                                        ◊ ALPHA = dil,
                                      )
        ……
                         / ELAS_FO =_F( ♦ E = f1,
                                        ♦ NU = f2,
                                        ◊ RHO = f3,
                                        ◊ ALPHA = f4,
                                      )
                        | / THER = _F ( ♦ RHO_CP = cp,
                                        ♦ LAMBDA = la,
                                      )
       ……
                         / THER_FO =_F( ♦ RHO_CP = g1,
                                        ♦ LAMBDA = g2,
                                      )
       ……
                     );

4.2 Метасимвол типа понятие или аргумент

Как и метасимволы статуса операндов, квадратные скобки [ ] и звездочка * не являются частью языка машинных команд. Их функция заключается в документальном представлении информации.

4.2.1 Типы понятий и аргументов [ ]

Они включают типы созданных понятий, а также тип аргументов.

Например: команда AFFE_MODELE (Распределение конечных элементов по ячейкам ячеистой структуры)

   mo [modele] = AFFE_MODELE
                       ( ♦ MAILLAGE = ma, [maillage]
                         ♦ AFFE =_F ( ♦ / TOUT = 'OUI',
                                        / MAILLE = mail, [l_maille]
   ....................
          )

В примере выше уточнялось, что понятие, созданное AFFE_MODELE представляет собой тип modele, а вводимое как аргумент понятие ключевого слова MAILLE должно быть типа l_maille (т. e. список ячеек).

4.2.2 Тип создаваемого понятия [*]

Данный метасимвол указывает, что тип создаваемого понятия или подтип создаваемого понятия типа результат зависит от типа аргументов некоторых операндов. В этом случае различные варианты описаны после синтаксиса команд.

Например: команда CREA_CHAMP

В данном примере, ch2 — это поле с узлами, плата или поле элементов в зависимости от их значений TYPE_CHAM.

   ch2 [*] = CREA_CHAMP
        ( ♦ TYPE_CHAM = / ‘NOEU_xxxx’, [Kn]
                        / ‘CART_xxxx’,
                        / ‘ELGA_xxxx’,
                        / ‘ELNO_xxxx’,
                        / ‘ELEM_xxxx’,
        )

            Si TYPE_CHAM = 'NOEU_TEMP_R' alors [*] = CHAM_NO_TEMP_R
                           'NOEU_DEPL_R'
    CHAM_NO_DEPL_R
                             ...
                             'CART_TEMP_R' CARTE_TEMP_R
                             'CART_DEPL_R' CARTE_DEPL_R
                             ...

4.3 Комментарии

Для некоторых комплексных команд, таких как AFFE_CARA_ELEM или DEFI_MATERIAU например, символ комментария используется для комментирования альтернативных метасимволов операндов. Он имеет тот же смысл в языке машинных команд и также интерпретируется программой-супервизором.

Например для AFFE_CARA_ELEM:


U4.01.00 4.3.PNG


4.4 Типы аргументов вводимых при помощи ключевых слов

Ключевые слова операндов вводят аргументы, соответствующие, как правило, четырем классам:

  • значения, в этом случае принятый информационный тип уточняется при помощи символического слова (вещественное число, целое число, цепочка символов и т. д. …),
  • обязательные тексты, в этом случае текст или тексты ('OUI', 'HY1') указываются в кавычках,
  • имена простых топологических единиц (имя узла, ячейки или список имен), описанных в файле ячеистой структуры, или имена групп узлов или ячеек, или списки имен групп узлов или ячеек,
  • имена и списки имен созданных операторами понятий.

В таблице ниже представлены все основные типы аргументов, вводимых при помощи ключевых слов:

   1) [R]	        вещественное	                        3.

    [l_R]	        список вещественных чисел	        (1., 3., 7.)

    [I]	                целое	                                7

    [l_I]	        список целых чисел	                (9, 6, 1, 9)

    [C]          	комплекс	                        RI 1.1, 7.8 или MP 10.,1.57

    [l_C]	        список комплексов	                (RI 1.1, 7.), (RI 4.7, 9.)

    [TXM]	        независимый текст                       ‘мой заголовок’
                        (имя ЗАГОЛОВКА...)
	
    [Kn]	        текст внутренний или состоящий          ’INST’
                        из n символов	

    [l_Kn]	        список внутренних текстов или           (‘SIXX’, ‘SIYY’, ‘SIXY’)
                        текстов, состоящих из n символов
	
    [noeud]	        имя узла	                        N23

    [l_noeud]	        список имен узлов	                (N23, N24, N25)

    [gr_noeud]	        список группы узлов	                NBORD6

    [l_gr_noeud]	список имен групп узлов	                (NBORD, NBASE, NBORD)

    [maille]	        имя ячейки	                        M34

    [l_maille]	        список имен ячеек	                (M34, M35)

    [gr_maille]	        список группы ячеек	                MPIQUAGE

    [l_gr_ maille]	список имен групп ячеек	                (MSOM, MDROI, MGA)

    [type_concept]	тип заранее созданного понятия          mon resu (мое решение)
                        (или поля) с автоматической 
                        проверкой типа	

    [l_type_concept]	список типа понятий пользователя	(resu1, resu2)

4.5 Типы созданных понятий в Aster

Для обозначения множества понятий, вводимых после ключевого слова используется метасимвол выбора эксклюзивного альтернативного метасимвола.

Например: оператор ASSE_MATRICE (компоновка элементарных матриц, входящих в список типовых понятий matr_elem_*.)

   ma [matr_asse_*] = ASSE_MATRICE
                 ( ♦ MATR_ELEM = lmel, / [l_matr_elem_DEPL_R]
                                       / [l_matr_elem_DEPL_C]
                                       / [l_matr_elem_TEMP_R]
                                       / [l_matr_elem_TEMP_C]
                                       / [l_matr_elem_PRES_R]
                                       / [l_matr_elem_PRES_C]
    ...
                );

    si MATR_ELEM [matr_elem_DEPL_R]      alors    [*] €    DEPL_R
                 [matr_elem_DEPL_C] €                      DEPL_C
                 [matr_elem_TEMP_R] €                      TEMP_R
                 [matr_elem_TEMP_C] €                      TEMP_C
                 [matr_elem_PRES_R] €                      PRES_R
                 [matr_elem_PRES_C] €                      PRES_C

В примере выше, понятие вводимое в аргумент MATR_ELEM может принадлежать к различным типам, а тип понятия, введенного в аргумент пользователем, зависит (по правилам, приведенным выше) от типа созданного оператором понятия ASSE_MATRICE.



5 Параграф Операнды

Для каждого операнда описан смысл операнда данной команды, его характер и тип аргументов вводимых при помощи ключевых слов, а также ограничения использования и трудности применения.

Например, в документации оператора AFFE_MATERIAU для операнда AFFE, операнд, предназначенный для уточнения к какой топологической единице поименованных ячеек ma будет отнесен поименованный созданный оператором материал mat . DEFI_MATERIAU, будет указано:

 ♦ AFFE

    Ключевое слово фактор, позволяющее распределить различные материалы по частям ячеистой структуры.

    / TOUT = ‘OUI’,

       Это ключевое слово позволяет распределить материалы по всем ячейкам ячеистой структуры.

    / GROUP_MA = lgma,

       Это ключевое слово позволяет распределить информацию в списке групп ячеек ячеистой структуры.

    / MAILLE = lma,

       Это ключевое слово позволяет распределить информацию в списке ячеек ячеистой структуры.

Каждой группе ячеек, (ключевое слово GROUP_MA) или каждому списку ячеек (ключевое слово MAILLE), или же ко всей ячеистой структуре (ключевое слово TOUT) приписывается материал mat, который является продуктом, созданным одним из операторов DEFI_MATERIAU (U4.43.01) или DEFI_COMPOSITE (U4.42.03).

Если одна ячейка повторяется намеренно (или ненамеренно) в нескольких ключевых словах факторах AFFE, применяется правило перегрузки: в расчет применяется результат последнего распределения (U2.01.08).



6 Операции проверки / выполнения

Параграф Синтаксис документации по использованию команд является точным повторением каталога команд. Каталог представляет собой файл, который содержит (на языке программы-супервизора) все правила по ключевым словам: наличие, исключение, импликация, содержание...)

Программа редактирования EFICAS использует данный каталог команд и позволяет пользователю получить набор правильных команд при подтверждении конечного созданного файла.

При выполнении поиска программа супервизор кода Code_Aster выполняет все ту же задачу синтаксической проверки: проверку всего файла, или попеременно с выполнением проверки одной команды за другой.

Кроме того, при выполнении непосредственно команд (ввод в часть FORTRAN кода источника), можно проводить дополнительные проверки. Речь идет о состояниях, которые невозможно воспроизвести на уровне языка машинных команд (равенство кардинальных чисел различных списков …).



7 Оформление текста и стили отступов

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

Прописными буквами записывают:

  • имена операторов, процедур
  • имена ключевых слов и ключевых слов-факторов,
  • вводимые аргументы типа текст (указываются в 'кавычках' как в синтаксисе команд).

Строчными буквами записывают:

  • имена созданных понятий,
  • символические имена аргументов,
  • типы созданных понятий и аргументов.

Одновременно строчными — прописными буквами записывают созданные понятия с подтипом. Созданное понятие записывается прописными буквами, также как и тип FORTRAN величины подтипа.

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

Например:

   ma [matr_asse_*] = ASSE_MATRICE
      ( ♦ MATR_ELEM = lmel, / [l_matr_elem_DEPL_R]
                            / [l_matr_elem_DEPL_C]
                            / [l_matr_elem_TEMP_R]
                            / [l_matr_elem_PRES_C]
        ♦ NUME_DDL = nu, [nume_ddl]
        ◊ CHAR_CINE = lcha, / [l_char_cine_meca]
                            / [l_char_cine_ther]
                            / [l_char_cine_acou]
        ◊ INFO = / 1, [DEFAUT]
                 / 2,
      );
   si MATR_ELEM    [matr_elem_DEPL_R]     alors    [*] DEPL_R
                   [matr_elem_DEPL_C]              DEPL_C
                   [matr_elem_TEMP_R]              TEMP_R
                   [matr_elem_PRES_C]              PRES_C