(U1.03.00) Главные принципы работы Code Aster

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


Резюме: Здесь представлены принципы работы Code_Aster и основных правил использования.

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


Содержание

1 Общие принципы

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

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

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

Чтобы реализовать исследование пользователь должен подготовить два файла с данными:

  • файл сетки:

Этот файл определяет геометрическое и топологическое описание сетки, не выбирая, на данном этапе, тип формулировки использованных конечных элементов или физического явления, которое нужно смоделировать. Определенные исследования могут привести к использованию нескольких файлов сетки. В целом, этот файл сетки произведен командами, интегрированными в Code_Aster, которые исходят из файла, происходящего из программного обеспечения сетки, использованной в препроцессоре (SALOME, GIBI, GMSH, IDEAS …). Информация, которую должен содержать этот файл, специфический для Code_Aster. Она определяет стандартные объекты метода конечных элементов:

  • узлы: точки, которые определены названием и их Декартовыми координатами в 2-D или 3-D пространстве;
  • ячейки: плоскость или объемные, названные топологическими фигурами (точка, сегмент, треугольник, четырехугольник, тетраэдр, …), к которым могут быть применимы различные типы конечных элементов, граничных условий или загрузок.

Для повышения уровня безопасности использования и комфорта операций моделирования и исследования результатов в файле сетки можно определить объекты более высоких уровней, которые обладают каким-то свойством, и которое может использоваться прямо с их именем:

  • группы узлов: названные списки имен узлов;
  • группы ячеек: названные списки имен ячеек.

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

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

Текст команды ссылается на имена геометрических объектов, определенных в файле сетки. Он также позволяет определить новые группы в любое время. С информационной точки зрения эти два файла являются файлами ASCII в свободном формате. Это их основные характеристики: Синтаксис петли:

  • длина строки, ограниченной 80 символами;
  • разрешенные символы:
    • 26 прописных букв A-Z и 26 строчных букв a-z, автоматически преобразованных в прописные буквы, кроме текстов (в кавычках);
    • десять цифр 0-9 и знаки представления чисел (+-);
    • символ _underscore применимый в ключевых словах или именах;
  • слово должно всегда начинаться с буквы;
  • пробел всегда является разделителем;
  • символ % указывает на строку комментария;
  • Другие правила чтения определены в буклете (U3.01.00)

Синтаксис команды:

  • синтаксис, связанный с языком Питон, позволяет включать инструкции этого языка;
  • символ # указывает на строку комментария;
  • команды должны начинаться в столбце 1, если они не принадлежат блоку indenté (циклы, критерий) ;

Другие правила чтения определены в буклете (U1.03.01).



2 Сетка

2.1 Общие сведения

Файл сетки Aster может быть записан (для действительно элементарных сеток) или изменен вручную с любым текстовым редактором. Это файл, прочитанный в свободном формате, структурированном в подфайле или записях из ключевых слов.

Существуют различные утилиты для упрощения импорта сетки в Code_Aster. Различают:

  • утилиты преобразования, позволяющие преобразовывать файл сетки, произведенный другим пакетом программного обеспечения (IDEAS, GIBI, GMSH …) в файле сетки в формате Астры;
  • команда чтения файла сетки для форматирования MED, произведенного Salome.

2.2 Файл сетки Aster

Структура и синтаксис файла сетки Астры детализированы в Буклете (U3.01.00).

Файл сетки Aster прочитан в первой строки до первого вхождения строки, не начинающейся со слова FIN. Это ключевое слово обязательно. Файл сетки структурирован под независимые файлы, начинающиеся с ключевого слова, и заканчивающиеся на ключевом слове FINSF.

Этот файл должен включать по крайней мере два подфайла:

  • координаты всех узлов сетки в декартовой системе координат, в 2-D (COOR_2D) или 3-D (COOR_3D) пространстве;
  • описание всех ячеек (TRIA3, HEXA20, и т.д. …), которые будут влиять на физические свойства, конечные элементы, граничные условия или нагрузки.

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

На этой стадии необходимо создать, расположенные на границах отображение загрузок и граничных условий. Тогда найдем в файле сетки:

  • границы ячеек элементов, 2-D;
  • поверхности ячеек элементов, 3-D твердые массы;
  • группы ячеек, связывающих края и/или поверхности.

Это связь становится возможной, когда используется интерфейс приложения, делающий работу, начиная с указаний для всей сетки(см. документы PRE_IDEAS (U7.01.01) или PRE_GIBI (U7.01.11)).

2.3 Утилиты преобразования

Интерфейсы приложения Ces позволяют преобразовать файлы, в формате или без формата, используемого различными пакетами программного обеспечения или кодов, со стандартным форматом файла сетки Aster.

В настоящее время доступные интерфейсы это те, которые позволяют использовать генератор сетки IDEAS, генератор сетки GIBI 2000 CASTEM и генератор сетки GMSH.

2.3.1 Универсальный файл IDEAS

Конвертируемый файл является универсальным файлом, определенным документацией IDEAS (см. Отдельный выпуск (U3.03.01)). Распознавание используемой версии IDEAS является автоматическим.

Универсальный файл IDEAS состоит из нескольких независимых блоков, названных “датированными наборами”. Каждый “ датированный набор ”, структурирован символьной строкой -1 и пронумерован. “ Датированные наборы ”, распознанные интерфейсом приложения, описаны в буклете (U3.03.01).

2.3.2 Файл сетки GIBI

Интерфейс создан с помощью команды PRE_GIBI (U7.01.11).

Конвертируемый файл это файл ASCII, восстановленный командой SAUVER FORMAT 2000 CASTEM. Точное описание интерфейса приложения дано в (U3.04.01).

2.3.3 Файл сетки GMHS

Интерфейс создан с помощью команды PRE_GMSH (U7.01.31).

Конвертируемый файл это файл ASCII, восстановленный командой SAVE GMSH.

2.4 Файл сетки в формате MED

Интерфейс создан с помощью команды LIRE_MAILLAGE (FORMAT ='MED') (U4.21.01).

MED (Modelization и Echanges de Données) это нейтральный формат данных, разработанный EDF R & D и французским агентством по атомной энергии для обмена данными между машинными кодами. Файлы MED это двоичные и переносимые файлы. Чтение файла MED LIRE_MAILLAGE, позволяет восстановить сетку, произведенную любым другим кодом, который в состоянии создать файл MED на любой другой машине. Этот формат данных в частности используется для свопинга файла сетки и результатов между Code_Aster и Salome, или инструментами усовершенствования сетки HOMARD. Точное описание интерфейса приложения дано в (U7.01.21).

2.5 Использование несовместимых сеток

Хотя метод конечных элементов рекомендует использовать правильные сетки, без разрыва, чтобы получить корректную сходимость решения непрерывной задачи, для определенного моделирования может понадобиться использование несовместимых сеток: с обеих сторон границы сетки не соответствуют друг другу. Сопряжение этих двух сеток на уровне файла команд управляется ключевым словом LIAISON_MAIL команды AFFE_CHAR_MECA. Это позволяет объединить сетку с другой областью, где возможна более крупная сетка.

2.6 Адаптивная сетка

Начиная, с начальной сетки, то возможно так приспособить сетку, чтобы минимизировать сделанную ошибку, с помощью макрокоманды MACR_ADAP_MAIL, вызывающей программное обеспечение HOMARD. Программное обеспечение HOMARD функционирует на сетке, сформированной сегментами, треугольниками, четырехугольниками, четырехгранниками, шестигранниками и пятигранниками.

Эта адаптация сетки выполняется после первого вычисления с Code_Aster. Показатель ошибки будет вычислен. В зависимости от его значения, программное обеспечение HOMARD изменит сетку, ячейка за ячейкой. Также возможно интерполировать поля температур или смещений в узлы старой сетки от новой (U7.03.01).



3 Команда

3.1 Файл команд

Файл команд содержит ряд команд, выраженных на языке, определенном для Code_Aster (который должен соблюдать синтаксис Питона). Эти команды проанализированы и выполнены программным слоем Code_Aster, названного "контролером".

3.2 Роль контролера

Контролер выполняет различные задачи в частности:

  • фаза проверки и интерпретация файла команды;
  • этап выполнения интерпретируемых команд.

Эти задачи детализированы в документе (U1.03.01).

Файл команды обработан, начиная со строки, где первый вызов к процедуре DEBUT () или процедуре POURSUITE(), и до первого возникновения команды FIN (). Команды, расположенные перед DEBUT () или POURSUITE () и после FIN (), не выполняются, но должны быть синтаксически корректны.

Синтаксическая фаза проверки:

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

Этап выполнения:

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

3.3 Принципы и синтаксис языка управления процессом

Модульное понятие Code_Aster позволяет представить код как ряд независимых инструкций:

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

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

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

Полный синтаксис команд и его импликации детализирован в буклете U1.03.01). Здесь приводится пример некоторых команд (взятых из примера с комментариями в (U1.05.00)):

   mall = LIRE_MAILLAGE () 

    mod1 = AFFE_MODELE (MESH = mall, 
                        AFFE=_F (TOUT='OUI', 
                        PHENOMENE='MECANIQUE', 
                        MODELISATION='AXIS'))

    f_y = DEFI_FONCTION (NOM_PARA = “Y”
                         VALE =_F (0. , 20000. , 
                                   4. , 0. )
                        )  

    charg = AFFE_CHAR_MECA_F (MODELE = mod1
            PRES_REP =_F (GROUP_MA = (` lfa', ` ldf'), 
                          PRES = f_y)) 
    .....
    res1 = MECA_STATIQUE (MODELE=mod1,
                         ......
                         EXCIT=_F (LOAD = charg),
                         ….)

    res1 = CALC_CHAMP (reuse=res1, RESULTAT=res1, 
                       MODELE=mod1, 
                       CONTRAINTE= (“SIGM_ELNO”), 
                       DEFORMATION= ('EPSI_ELNO),);

Обозначим некоторые общие точки, которые можно наблюдать в предыдущем примере:

  • любая команда начинается в первом столбце,
  • список операндов команды обязательно располагается между скобками, а также списками элементов;
  • nom_de_concept может появиться только один раз в тексте команды как понятие, стоящее слева от знака =;
  • повторное использование существующего понятия, как понятие продукта, возможно только для определенных операторов для этой цели. Когда используется эта возможность (повторно используемое понятие), команда тогда использует зарезервированное ключевое слово « reuse » ;
  • команда составлена из одного, или многих ключевых слов - mot_clé или mot_cle_factor, последнее составлено из списка mot_clé между скобками префиксом _F. В предложенном примере команда AFFE_CHAR_MECA_F использует mot_clé MODELE и mot_cle_factor PRES_REP, который составлен из mot_clé GROUP_MA и из PRES.

Эта операция выполнена:

  • возможно с уничтожением начальных значений. В качестве примера используется факторизация на точке матрицы жесткости:

matass = FACTORISER ( reuse=matass, MATR_ASSE= matass ) ;

  • либо с обогащением понятия.

3.4 Правило перезагрузки

Правило используемой перегрузки, для всех операций присвоения, присоединено к правилам использования mot_cle_factor с несколькими списками операндов:

  • присвоения выполнены путем влияния другого ключевого слова mot_clé;
  • в случае конфликта последнее ключевое слово mot_clé является следствием предыдущих элементов.

Пример: хотим повлиять на различные материалы MAT1, MAT2 и MAT3 для некоторых ячеек:

   subdue = AFFE_MATERIAU (MAILLAGE= mon_mail
            AFFE = _F (TOUT = ` OUI', MATER = MAT1),
                   _F (GROUP_MA = ` mail2', MATER = MAT2),
                   _F (GROUP_MA = ` mail1', MATER = MAT3),
                   _F (MESH = (“m7','m8' ), MATER = MAT3))
  • начинаем путем присвоения материального MAT1 всем ячейкам;
  • присваиваем материал MAT2 группе ячеек mail2, содержащей, ячейки m8, m9 и m10;
  • присваиваем материал MAT3 группе ячеек mail1 (m5, m6 и m7) и ячейкам m7 и m8, который уже является источником конфликта, начиная с ячейки m7, которая является частью mail1 группы.

Правило перегрузки будет соблюдаться и получит следующее материальное поле:

   MAT1 : ячейки m1 m2 m3 m4
   MAT2 : ячейки m9 m10
   MAT3 : ячейки m5 m6 m7 m8

Прогрессивное воздействие различных назначений материала проиллюстрировано в таблице ниже.

Имя ячейки Материальное поле после 1-ого присвоения Материальное поле после 2-ого присвоения Материальное поле после3-его присвоения Заключительное материальное поле
m1 MAT1 MAT1 MAT1 MAT1
m2 MAT1 MAT1 MAT1 MAT1
m3 MAT1 MAT1 MAT1 MAT1
m4 MAT1 MAT1 MAT1 MAT1
m5 MAT1 MAT1 MAT3 MAT3
m6 MAT1 MAT1 MAT3 MAT3
m7 MAT1 MAT1 MAT3 MAT3
m8 MAT1 MAT2 MAT2 MAT3
m9 MAT1 MAT2 MAT2 MAT2
m10 MAT1 MAT2 MAT2 MAT2

3.5 Правило инерционности

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

То есть, например:

   CHMEC1=AFFE_CHAR_MECA ( MODELE=MO, 
          FORCE_INTERNE= (  _F (TOUT = “OUI”, FX = 1. ),
                            _F (GROUP_MA = “GM1”, FY = 2.),
                         )) 

Правило перегрузки говорит нам то, что второе вхождение FORCE_INTERNE перезагрузит первое.

Но чему равно FX в ячейке, принадлежащей GM1? Было ли оно стерто при втором вхождении?

Если отображено единственное правило перегрузки, тогда FX не определено на GM1.Правило инерционности позволяет сохранить значение FX.

Если отображено правило инерционности, FX сохраняет предварительно присвоенное значение. Все элементы модели имеют значение FX и элементы GM1 значения FX и FY.

3.6 Основная память, связанная Code_Aster

Code_Aster опирается на изучение, для управления всеми структурами данных, связанными с различными обработанными понятиями библиотеки JEVEUX. Вышеупомянутые соглашения с памятью, управляется областью, требуемой пользователем во время запроса на выполнение (параметр памяти, выраженный в Мегабайтах). Этого пространства часто недостаточно для хранения всей структуры данных. Тогда библиотека загружает управление обменами между оперативной памятью и вспомогательными хранениями файлов.

На каждый информационный объект оказывается влияние, во время его создания кодом, файлом прямого доступа. Это может быть расценено как база данных, так как в конце выполнения она содержит каталог (имена и атрибуты), который позволяет использовать все сегменты значений, которые она содержит.

Code_Aster использует несколько баз данных:

  • GLOBALE база данных, содержащая все понятия, произведенные операторами, а также содержащие определенные каталоги, на которых основываются понятия; файл, основанный на этом, позволяет следующее исследование. Этим должен управлять пользователь;
  • другие базы данных, используемые только контролерами и операторами, во время выполнения, не требуют определенного вмешательства пользователя;

Для создания исследования необходимо использование нескольких команд:

  • процедуры для обмена файлами с внешним миром;
  • операторы для создания понятий, произведенных в течении моделирования и вычисления.

Команды, соответствующие этой последовательности операций, могут быть реализованы, начиная с отдельного исполнимого модуля Code_Aster:

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

U1.03.00 1.png


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

  • DEBUT () обязательно для первого выполнения исследования;
  • POURSUITE () обязательно для второго выполнения исследования;
  • FIN () обязательно для всего выполнения.

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

Примечание:

  • команда INCLUDE позволяет включать в поток команд содержание другого файла команд. Это позволяет сохранить файл основных читаемых команд и поместить в файлы, приложенные большими цифровыми данными (исключая: определение функций) ;
  • файлы команды могут быть разбиты на несколько файлов, которые будут выполняться один за другим с промежуточным резервным копированием базы данных. Для этого необходимо определить последовательные файлы команд, суффикс которых будет:.com1,.com2, …,.com9. Выполнения этих файлов связаны. База данных последнего выполнения, закончившегося хорошо, сохранена.

3.7 Помощь при определении значений

3.7.1 Подстановка значений

Помогает параметризировать файл команд.

Например:

    Eptub = 26.187E-3
 
    Rmoy = 203.2E-3

    Rext = Rmoy+ (EPtub/2)

    will cara = AFFE_CARA_ELEM (MODELE = model
                BEAM =_F ( GROUP_MA = all, SECTION: “CERCLE”, 
                           CARA = (“R”, “EP”), VALE = (Rext, EPtub)))

3.7.2 Функции одной или нескольких переменных

Также необходимо использовать величины функции других параметров.

Это могут быть:

  • определен на удаленном файле, прочитанном командой LIRE_FONCTION.
  • определен в файле команд:
    • DEFI_CONSTANTE, производящий функцию понятия только с одним постоянным значением;
    • DEFI_FONCTION, производящий функцию понятия для функции действительного параметра;
    • DEFI_NAPPE, производящий функцию понятия, для списка функций того же количества, каждого элемента списка, соответствующего значению другого действительного параметра. Понятие, произведенное этими операторами использует стандартную функцию и может использоваться только в качестве параметра операндов, принимающих этот тип. Операторы, принимающие один параметр функции, имеют суффикс F (например: AFFE_CHAR_MECA_F).
   Функции в этом случае определены детально, с линейной интерполяцией по умолчанию, поэтому тесно связаны частями. Созданные функции это дискретные массивы величин, определенных при создании. 
   Во время поиска каждый продолжает двигаться согласно указанным характеристикам прямым поиском или интерполяцией в массиве(линейный или логарифм). Во время создания функции, можно определить 
   продолжение поиска вне области определения массива, с различными правилами, или запретить его.
  • Определен при помощи их аналитического выражения оператором FORMULATES.

Например:

 Omega = 3,566 ;

 linst = (0. , 0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.20,0.40)

 F = FORMULA (VALE = '''COS (OMEGA*INST)''')
 F1=CALC_FONC_INTERP (FONCTION=F, VALE_PARA= linst, 
                      NOM_RESU='ACCE”,)

Аналитическая функция $ F(t)=cos(\Omega t) $ вычислена с помощью CALC_FONC_INTERP для моментов времени из списка.

3.8 Как составлять файл команд EFICAS?

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

Но лучшее то, что инструменты EFICAS позволяют запись файла команд интерактивным и удобным для пользователя способом, путем предложения для каждой команды списка возможных ключевых слов, путем автоматической проверки синтаксиса, и путем предоставления доступа к документации инструкции по использованию (буклеты U4 и U7).



4 Главные элементы исследования

Главные этапы исследования в общем случае:

  • подготовка работы, заканчивающейся после чтения сетки;
  • моделирование, во время которого определены и приданы свойства конечных элементов и материалов, граничных условий и загрузок;
  • вычисление может быть выполнено выполнением общих методов решения (U4.5-), которые основываются на командах вычисления и сборки матрицы и векторов (U4.6-);
  • операции дополнительных постобработок при вычислении (U4.8-);
  • операции вывода результатов (U4.9-);
  • операции обмена результатами с другим программным обеспечением (графическая визуализация, например) (U7.05-).

Другой способ использовать Code_Aster заключается в использовании выделенных инструментов, доступных в коде в форме MACRO_COMMANDES: заключенных в кавычки, например, выделенные инструменты:

  • ASCOUF (моделирование растрескивавшихся изгибов или изгибов под мощностью) ;
  • ASPIC (моделирование растрескивавшихся или не растрескивавшихся строчек).

4.1 Начало изучения и создания сетки

Здесь не пересматривается возможная фрагментация файла команд, представленного в предыдущем абзаце. Первая исполнимая команда:

   DEBUT ()

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

  • преобразовавать файл пакета программного обеспечения в файл с разделенным выполнением в формате Code_Aster, который позволяет, изменять его обработкой текста и сохранять его:
   DEBUT ()
   PRE_IDEAS ()
   FIN ()

тогда нормальное исследование будет в состоянии начаться, например:

   DEBUT ( ) 
   my = LIRE_MAILLAGE ( );
  • преобразуйте файл перед прочтением:
   DEBUT ( ) 
   PRE_IDEAS ( ) 
   my = LIRE_MAILLAGE ( ).

4.2 Передача данных для моделирования сетки

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

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

Эти определения получены различными операторами, имя которых снабжено префиксом AFFE_.

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

4.2.1 Определение области определения

Чтобы реализовать присвоение важно определить поле присвоения по отношению к названиям топологических информационных объектов, определенных в файле сетки.

Пять ключевых слов ,используемых для этого, согласно спецификации оператора:

  • ссылаться на всю сетку TOUT= 'OUI';
  • присваивать значения ячейкам MAILLE = (список имен ячеек);
  • присваивать значения группам ячеек GROUP_MA = (список имен групп ячеек);
  • присваивать значения узлам NOEUD = (список имен узлов);
  • присваивать значения группам узлов GROUP_NO = (список имен групп узлов).

4.2.2 Определение типа конечного элемента

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

  • одно или более явлений, которые нужно изучить: “MECANIQUE”, “THERMAL”, “ACOUSTICS”;
  • модель конечного элемента, совместимого с топологическим описанием сетки. Это присвоение вызывает явный список степеней свободы в каждом узле и закон интерполяции в элементе.

Для этого используем оператор AFFE_MODELE (U4.41.01), который можно вызвать несколько раз на той же сетке. Он использует правило перегрузки.

Примечание:

Для исследования с несколькими обработанными явлениями (`MECANIQUE', `THERMAL'), важно создать модель для каждого явления, такими же вызовами к AFFE_MODELE. С другой стороны, для данного вычисления (механический, тепловой, …) нужна одна и только одна модель.

Чтобы знать о характеристиках различных доступных конечных элементов сошлемся на буклеты U2 и U3.

4.2.3 Определение характеристик материалов

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

Можно также использовать характеристики материала утвержденного каталогом, при помощи процедуры:

INCLUDE_MATERIAU (U4.43.02).

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

4.2.4 Определение характеристик элементов

В течение использования определенных типов элементов, для `MECANIQUE' явления, геометрическое определение, выведенное из сетки, не позволяет описать их полностью.

Нужно присвоить ячейкам недостающие характеристики:

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

Эти операции доступны оператором AFFE_CARA_ELEM (U4.42.01), который для упрощения составления команд, используют правило перегрузки.

Другая возможность этого оператора: возможность представления матриц жесткости, массы или затухания на ячейках POI1 (или узлы) или ячейках SEG2 непосредственно в модели. Эти матрицы соответствуют типам дискретных конечных элементов с 3 или 6 градусами свободы за узел DIS_T или DIS_TR, на который нужно определить во время вызова оператора AFFE_MODELE.

4.2.5 Определение конечных условий и нагрузок

Эти операции необходимы. Они реализованы несколькими операторами, имя которых снабжено префиксом AFFE_CHAR или CALC_CHAR. На той же модели можно реализовать несколько вызовов этих операторов для определения граничных условий и/или нагрузки.

Операторы использовали, не соглашаются с явлением:

  ` MECANIQUE'         AFFE_CHAR_CINE
                       AFFE_CHAR_MECA               Данные только реального типа 
                       AFFE_CHAR_MECA_F             Данные типа THERMAL
  function `'          AFFE_CHAR_THER               Данные только реального типа
                       AFFE_CHAR_THER_F             Данные типа ACOUSTIC
  function `'          AFFE_CHAR_ACOU               Данные только реального типа

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

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

Для подробного определения операндов этих операторов и правил ориентации ячеек (глобальная система, локальная система координат или неуказанная система) сошлемся на документы (U4.44.01), (U4.44.02) и (U4.44.04).

Граничные условия можно получить двумя способами:

  • "устранением" степеней свободы (для линейных механических моделей, реализовывая только кинематические граничные условия (заблокированные степени свободы) без линейного отношения. В этом случае граничные условия будут определены с помощью команды AFFE_CHAR_CINE;
  • дуализацией (R3.03.01). Этот метод, благодаря его большей общей информации, позволяет обработать все типы граничных условий (степень свободы, линейных отношений между степенями свободы, …); метод использовал результаты в добавлении двух множителей LAGRANGE для каждого d. o. f. или каждого линейного отношения.

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

4.3 Реализация вычислений глобальными командами

4.3.1 Анализ THERMIQUE

Чтобы вычислить поле температуры, соответствующее линейному или нелинейному тепловому анализу:

  • стационарный (начальный момент времени) ;
  • эволюционная, чьи моменты вычисления предварительно специфицируются определенным списком фактов;

Команды, которые будут использоваться:

  • THER_LINEAIRE для линейного анализа (U4.54.01);
  • THER_NON_LINE для нелинейного анализа (U4.54.02);
  • THER_NON_LINE_MO для задачи мобильных нагрузок в постоянном режиме (U4.54.03).

Вычислением матриц и элементарных и соединенных векторов, необходимых для реализации методов решения, занимаются эти операторы.

4.3.2 Анализ STATIQUE

Чтобы вычислить механическое развитие структуры, подчиненной списку нагрузок:

  • MECA_STATIQUE (U4.51.01): линейное поведение, с суперпозицией эффектов каждой нагрузки;
  • MACRO_ELAS_MULT (U4.51.02): линейное поведение, различая эффекты каждой нагрузки;
  • STAT_NON_LINE (U4.51.03): квазистатическое развитие структуры, подчиненной истории нагрузок в маленьких или больших преобразованиях, сделанных из материала, поведение которого линейно или нелинейно с учетом контакта и трения.

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

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

Вычислением матриц и элементарных и соединенных векторов, необходимых для реализации методов решения, занимаются эти операторы.

4.3.3 Анализ MODALE

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

  • MODE_ITER_SIMULT (U4.52.03): вычисление собственных режимов одновременными итерациями; действительные или комплексные собственные значения и вектор;
  • MODE_ITER_INV (U4.52.04): вычисление собственных режимов обратными итерациями; действительные или комплексные собственные значения и вектор;
  • MACRO_MODE_MECA (U4.52.02): модальный анализ уменьшается путем автоматического включения интервала частоты;
  • MODE_ITER_CYCL (U4.52.05): вычисление собственных режимов структуры с циклическим повторением, начинающимся с основы вещественного числа собственного режима.

Эти четыре оператора требуют предварительного вычисления соединенных матриц (U4.61-).

4.3.4 Анализ DYNAMIQUE

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

 DYNA_LINE_TRAN [[(U4.53.02)]]: временный динамический ответ линейной структуры, подчиненной переходному возбуждению,

 DYNA_LINE_HARM [[(U4.53.02)]]: сложный динамический ответ линейной структуры, подчиненной гармоническому возбуждению,

 DYNA_TRAN_MODAL [[(U4.53.21)]]: переходной динамический ответ в скоординированной обобщенной модальной перекомбинации.

Эти три оператора требуют предварительного вычисления соединенных матриц (U4.61-).

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

4.4 Результаты

Результаты, полученные операторами вычисления конечных элементов (U4.3-), (U4.4-) и (U4.5-), имеет два основных типа:

  • тип cham_no или cham_elem (узлы или элементы), когда речь идет об операторах, производящих одно поле (например, RESOUDRE);
  • тип RESULTAT, который группирует все поля.

Поле понятия типа RESULTAT идентифицировано:

  • переменной выборки данных, которой может быть:
    • простой порядковый номер, относящийся к порядку, в котором расположены поля.
    • параметр задан согласно типу понятия результата:
      • частота или номер режима для RESULTAT типа mode_meca;
      • время для RESULTAT типа evol_elas, характера, dyna_trans или evol_noli;
  • символьным именем поля, относящегося к типу поля: перемещение, скорость, состояние связи, силы, …

Помимо переменных выборки данных, другие параметры могут быть связаны с понятием RESULTAT. Различные поля встроенные в понятие результата:

  • либо оператором, создавшим понятие, глобальная команда (MECA_STATIQUE;STAT_NON_LINE, …) или простая инструкция (MODE_ITER_SIMULT, DYNA_LINE_TRAN, …);
  • либо во время выполнения команды, позволяющей добавить возможность вычисления поля элементов или поля узлов в форме (CALC_CHAMP); тогда получим, что дополняет понятие:
   resul = оператор (reuse=resu1, RESULTAT = resul …);

4.5 Использование результатов

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

  • общие операторы постобработки (см. буклет (U4.81)), например CALC_CHAMP; POST_ELEM, POST_RELEVE_T;
  • операторы механики разрыва (см. буклет (U4.82)), например CALC_G;
  • оператор металлургии: CALC_META;
  • статическая механическая постобработка (см. буклет (U4.83)), например POST_FATIGUE; POST_RCCM;
  • динамическая механическая постобработка (см. буклет (U4.84)), например POST_DYNA_ALEA; POST_DYNA_MODA_T.
  • операторы извлечения:
    • из поля в понятии результата CREA_CHAMP (U4.72.04);
    • из поля в обобщенных координатах для динамического вычисления с модальной основой RECU_GENE (U4.71.03);
    • из функции развития компоненты, начинающейся с понятия результата RECU_FONCTION (U4.32.03);
    • и восстановления динамического ответа в физическом базисе REST_GENE_PHYS (U4.63.31);
    • оператор постобработки функций или связных поверхностей CALC_FONCTION, позволяющих поиск пиков, экстремумов, линейных комбинаций, … (U4.32.04).

Наконец, две процедуры IMPR_RESU (U4.91.01) и IMPR_FONCTION (U4.33.01) позволяют вывод и возможно создание файлов, годных для использования другими пакетами программного обеспечения графической визуализации. В определенной графической визуализации IDEAS, GMSH или GIBI сохраняется инструмент для сетки, используемой изначально.



5 Файлы вывода и Code_Aster

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

Файл Содержание
ERREUR Ошибки встречаются во время выполнения
MESSAGE Информация времени вычисления. Копия предоставленного файла команды и его Aster интерпретация. Время выполнения каждой команды. Сообщения "система".
RESULTAT Единственно искомые результаты, записанные по требованию пользователя и сообщения об ошибках

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

Отличают различные типы сообщений ERREUR. Переданные сообщения будут направлены только согласно их типу:

Код Тип сообщения Выходные файлы
F сообщение фатальной ошибки, выполнение останавливается после различных выводов. Понятие, созданное текущей командой, потеряно. Однако, понятия, прежде произведенные, утверждены и GLOBALE базис защищен. Он используется для обнаружения серьезной ошибки, не дающей нормально выполнить команду Code_Aster ERREUR
MESSAGE
RESULTAT
E ошибочное сообщение, непрерывное выполнимое совсем недолго: этот тип сообщения позволяет анализировать ряд ошибок до остановки программы. Передача сообщения типа <E> всегда следует за передачей сообщения типа <F>. Произведенные понятия утверждены и GLOBAL базис доступен для POURSUITE ERREUR
MESSAGE
RESULTAT
S ошибочное сообщение, понятия, созданные в течение его исполнения, содержащиеся в текущей команде, утверждены контролером, исполнение останавливается с "присущим" замыканием GLOBAL базиса. Она последовательно многократна в POURSUITE. Это сообщение позволяет предостеречь задачи сходимости или время течения итерационного процесса. ERREUR
MESSAGE
RESULTAT
A тревожное сообщение. Число тревожных сообщений ограничено автоматически пятью тождественными последовательными сообщениями. Он рекомендован пользователям, у которых есть сообщения типа " réparer " , чтобы их файл команд выполнился и исчез. MESSAGE
RESULTAT
I информационное сообщение контролера MESSAGE

Исключения ведут себя также, как ошибки <S>. Это ошибки, приспособленные к частному случаю.