(U4.44.03) Операторы исчисления AFFE CHAR CINE и AFFE CHAR CINE F

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


1 Цель

Определить нагрузку типа "заданные степени свободы".

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

  1. Для AFFE_CHAR_CINE (за исключением случая EVOL_IMPO), присвоенные значения не зависят ни от какого параметра и определяются действительными величинами (механической или термической) или комплексными величинами (акустической). Данные значения могут быть нулевыми (блокировка).
  2. Для AFFE_CHAR_CINE_F, присвоенные значения являются функциями одного (или нескольких) параметров для выбора в совокупности (INST ,X,Y,Z).

Продукт структура типа char_cine_*.



2 Общий синтаксис

   ch[char_cine_*] = AFFE_CHAR_CINE
                ( ♦ MODELE = mo ,   [modèle]
                  ♦ / MECA_IMPO = (см ключевое слово MECA_IMPO),
                    / THER_IMPO = (см ключевое слово THER_IMPO),
                    / ACOU_IMPO = (см ключевое слово ACOU_IMPO),
                    / EVOL_IMPO = evoimp / [evol_ther]
                                         / [evol_elas] 
                                         / [evol_noli]
                  ◊ NOM_CMP = lcmp   [1_TXM]
                )
   si MECA_IMPO alors [*] meca
   si THER_IMPO ther
   si ACOU_IMPO acou
   si EVOL_IMPO alors [*] meca ou ther (selon evoimp)
   ch[char_cine_*] = AFFE_CHAR_CINE_F
                ( ♦ MODELE = mo , [modèle]
                  ♦ / MECA_IMPO = (см ключевое слово MECA_IMPO),
                    / THER_IMPO = (см ключевое слово THER_IMPO),
                )
   si MECA_IMPO alors [*] meca
   si THER_IMPO ther



3 Общие положения

Две данные команды создают концепты типа char_cine_* (_meca/_ther).

Команда AFFE_CHAR_CINE может также создавать концепты типа char_cine_acou.

Данные типы отличаются от типа charge, созданного командами AFFE_CHAR_MECA (U4.44.01), AFFE_CHAR_THER (U4.44.02) или AFFE_CHAR_ACOU (U4.44.04)).

Таким образом, созданные объекты не являются взаимозаменяемыми.

Плюсом кинематических нагрузок является то, что они не увеличивают число неизвестных в системе, в отличие от метода дуализации из-за коффициентов Лагранжа.

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

  • их можно использовать только при зависимости типа "ddl imposé" (нельзя при линейных зависимостях),
  • данные нагрузки также недопустимы во всех глобальных командах. На данный момент допустимыми командами являются:
    • MECA_ STATIQUE, STAT_NON_LINE, DYNA_NON_LINE
    • THER_LINEAIRE
  • для вычисления, не использующего глобальные команды, установка матрицы, затем разрешение, последовательность команд для использования является более сложной, чем в случае с "обычными" нагрузками, что можно видеть в
    примере 2 [§ 5.2].



4 Операнды

4.1 Общие положения при операндах

Операнды под ключевыми словами-множителями MECA_IMPO, THER_IMPO и ACOU_IMPO могут быть двух видов:

  • операнды, определяющие геометрические единицы, на которые присваиваются нагрузки (ключевые слова GROUP_MA, GROUP_NO, NOEUD ...). Аргументы данных операнд идентичны для двух операторов исчисления.
  • операнды, определяющие присвоенные значения (DX, DY, DZ, и т.д. ...). Значение данных операндов одинаковы для двух операторов. Все аргументы данных операндов являются действительным типом для оператора исчисления AFFE_CHAR_CINE и типом fonction (или formule) для оператора исчисления AFFE_CHAR_CINE_F.

Данное верно за единственным исключением: ключевое слово-множитель ACOU_IMPO (которое не существует для команды AFFE_CHAR_CINEF) всегда комплексного типа.

Таким образом, в данном документе не различаются, если особо не оговорено обратное, два оператора исчисления AFFE_CHAR_CINE и AFFE_CHAR_CINE_F.

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

  1. либо операндом TOUT = 'OUI' который позволяет определить все узлы сетки,
  2. либо операндом GROUP_NO позволяющим определить список групп узлов,
  3. либо операндом NOEUD позволяющим определить список узлов.
  4. либо операндами GROUP_MA и MAILLE позволяющими определить все узлы, установленные на клетках, указанных в списках MAILLE и GROUP_MA.

4.2 Действия в случае перегрузки:

4.2.1 Перегрузка в рамках одной команды AFFE_CHAR_CINE

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

Например:

   chcine= AFFE_CHAR_CINE( MECA_IMPO=(
                           _F( TOUT='OUI', DX= 1., ...)
                           _F( NOEUD='N3', DX= 3., ...)

В этом случае заданное смещение DX для узла N3 равняется: 3.

4.2.2 Перегрузка между несколькими командами AFFE_CHAR_CINE

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

Например:

   chcinl= AFFE_CHAR_CINE( MECA_IMPO= _F( TOUT='OUI', DX= 1., ...)
   chcin2= AFFE_CHAR_CINE( MECA_IMPO= _F( NOEUD='N3', DX= 3., ...)

В этом случае заданное смещение DX для узла N3 равняется: 4 (car 1+3)

4.2.3 Перегрузка между AFFE_CHAR_CINE и AFFE_CHAR_MECA

Если "смешиваются" команды AFFE_CHAR_MECA и AFFE_CHAR_CINE, код останавливается на неустранимой ошибке (FACTOR_41) обозначая, что есть избыточная зависимость блокировки (NOEUD N3 / DX).

4.3 Операнд MODÈLE

   ♦ MODELE = mo

Концепт, производимый оператором исчисления AFFE_MODELE (U4.41.01) где определяет типы исполнительных элементов для сетки.

4.4 Ключевое слово MECA_IMPO

4.4.1 Цель

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

Данные граничные условия будут впоследствии обрабатываться методом, называемым устранением заданных степеней свободы (то есть без дуализации, в противоположность подходу того же типа граничного условия с использованием операторов исчисления AFFE_CHAR_MECA либо AFFE_CHAR_MECA_F (U4.44.01)).

4.4.2 Синтаксис

 AFFE_CHAR_CINE

    / MECA_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]
                            | ... (voir la liste complète ci-dessous)
                   ) ,) ,

  AFFE_CHAR_CINE_F
    / MECA_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 = u xf  [fonction ( * )]
                            | DY = u yf    [fonction ( * )]
                            | ... (voir la liste complète ci-dessous)
                   ) ,) ,
  fonction ( * ) : fonction ou formule

Список ключевых слов доступных под названиями MECA_IMPO в AFFE_CHAR_CINE:

 'DRX'	     'DRY'      'DRZ'	   'DX'	      'DY'	 'DZ'
 'E1X'	     'E1Y'	'E1Z'	   'E2X'      'E2Y'	 'E2Z'
 'E3X'	     'E3Y'	'E3Z'	   'E4X'      'E4Y'	 'E4Z'
 'GONF'     'GRX'	'H1X'	   'H1Y'      'H1Z'	 'PHI'
 'PRE1'     'PRE2'     'PRES'     'PRES11'   'PRES12'   'PRES13'
 'PRES21'   'PRES22'   'PRES23'   'PRES31'   'PRES32'   'PRES33'
 'TEMP'     'UI2'	'UI3'	   'UI4'      'UI5'	 'UI6'
 'U02'	     'U03'	'U04'	   'U05'      'U06'	 'Vil'
 'V12'	     'V13'	'V21'	   'V22'      'V23'	 'V31'
 'V32'	     'V33'	'VI2'	   'VI3'      'VI4'	 'VI5'
 'VI6'	     'V02'	'V03'	   'V04'      'V05'	 'V06'
 'WI1'	     'WI2'	'WI3'	   'WI4'      'WI5'	 'WI6'
 'WO'	     'WOl'	'W02'	   'W03'      'W04'	 'W05'
 'W06'	     'LH1'			

Список ключевых слов доступных под названиями MECA_IMPO в AFFE_CHAR_CINE_F:

 'DRX'	  'DRY'	  'DRZ'	  'DX'	  'DY'	   'DZ'
 'GRX'	  'PRE1'  'PRE2'  'PRES'  'TEMP'   'PHI'

Это названия степеней свободы, установленных на исполнительных элементах модели. Значение данных названий можно найти в документации исполнительных элементов.

4.4.3 Операнды

 / MECA_IMPO
   DX = ux или uxf	Значение составляющей смещения
   DY = uy или uyf	в заданном сдвиге
   DZ = uz или uzf	на определенных узлах

Исключительно для узлов модели 3D, включающей элементы балки, плиты, корпуса, дискретные элементы

   DRX = drx или drxf	    Значение составляющей смещения
   DRY = dry или dryf	    при заданном вращении
   DRZ = drz или drzf	    на определенных узлах

Для более "экзотичных" степеней свободы: GRX, TEMP, PRES и PHI , обращаться к документации команды AFFE_CHAR_MECA (U4.44.01) §3.9].

Внимание:

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

4.5 Ключевое слово THER_IMPO

4.5.1 Цель

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

Данные граничные условия будут впоследствии обрабатываться методом, называемым устранением заданных степеней свободы (то есть без дуализации, в противоположность подходу того же типа граничного условия с использованием операторов исчисления AFFE_CHAR_THER или AFFE_CHAR_THER_F (U4.44.02))

4.5.2 Синтаксис

  • для AFFE_CHAR_CINE
   / THER_IMPO = (_F ( ♦ / TOUT = 'OUI' ,
                         / | NOEUD = lno , [l_noeud]
                           | GROUP_NO = lgno , [l_gr_noeud]
                           | MAILLE = lma , [l_maille]
                           | GROUP_MA = lgma , [l_gr_maille]
                       ♦ | TEMP = t [R]
                           | TEMP_SUP = tsup , [R]
                           | TEMP_INF = tinf , [R]
                 ) , ) ,
  • для AFFE_CHAR_CINE_F
   / THER_IMPO = (_F ( ♦ / TOUT = 'OUI' ,
                         / | NOEUD = lno , [l_noeud]
                           | GROUP_NO = lgno , [l_gr_noeud]
                           | MAILLE = lma , [l_maille]
                           | GROUP_MA = lgma , [l_gr_maille]
                       ♦ | TEMP = ft , [fonction ( * )]
                           | TEMP_SUP = ftsup , [fonction( * )]
                           | TEMP_INF = ftinf , [fonction( * )]
                ) , ) ,
   fonction ( * ) : fonction ou formule

4.5.3 Операнды

 | TEMP

Заданная температура на узлах (или на среднем листе для термических оболочек)

 | TEMP_INF

Заданная температура на нижней поверхности для элементов термических оболочек.

 | TEMP_SUP

Заданная температура на верхней поверхности для элементов термических оболочек.

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

4.6 Ключевое слово ACOU_lMPO

4.6.1 Цель

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

Данные граничные условия будут впоследствии обрабатываться методом, называемым устранением заданных степеней свободы (то есть без дуализации, в противоположность подходу того же типа граничного условия с использованием оператора исчисления AFFE_CHAR_ACOU (U4.44.04)).

4.6.2 Синтаксис

  • Для AFFE_CHAR_CINE
   / ACOU_IMPO = (_F ( ♦ / TOUT = 'OUI' ,
                         / | NOEUD = lno , [l_noeud]
                           | GROUP_NO = lgno , [l_gr_noeud]
                           | MAILLE = lma , [l_maille]
                           | GROUP_MA = lgma , [l_gr_maille]
                           ♦ PRES = p , [C]
                  ), ) ,
  • Для AFFE_CHAR_CINE_F:
   Нет ключевого слова ACOU_IMPO так как пока отсутствует комплексная функция.

4.6.3 Операнды

 PRES

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

4.7 Ключевое слово EVOL_IMPO = evoimp NOM_CMP = ( ' DX ' , ' DY ' )

Данное ключевое слово допускает "структурное увеличение масштаба изображения" (см., например, тест zzzz230a).

Действие данного ключевого слова заключается в назначении всех ddls изменения evoimp, как если бы это были функции времени. Данная возможность предоставляется для структур данных evol elas, evol_noli и evol_ther.

Для "структурного масштабирования" необходимо назначить ddls только на узлы по краям масштабируемой модели. Это в общем необходимо для интерполяции "грубых" вычислений на границах масштабируемой модели.

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

Примечания:

  • Не следует использовать несколько EVOL_IMPO в общих зонах (в противном случае, будут накапливаться назначенные величины)
  • С осторожностью использовать FONC_MULT с EVOL_IMPO : результат, возможно, будет не тем, который Вы ожидаете !
  • EVOL_IMPO используется для любой величины времени между tmin и tmœc (крайние значения моментов транзистора EVOL_IMPO). Вне данного интервала выдается неустранимая ошибка (недопустимое обобщение).
  • Если EVOI_IMPO имеет лишь один момент, допускается "постоянное" продолжение и подается аварийный сигнал.


5 Примеры

5.1 Назначенные степени свободы в механике

   chcine = AFFE_CHAR_CINE (MODELE = mo, MECA_IMPO=(
                      _F (TOUT = 'OUI', DRZ = 0.),
                      _F (GROUP_NO = 'bordl', DX = 0 . , DY = 0 . , DZ = 0.,
                                              DRX = 0 . , DRY = 0 . , ) ) )

В случае данной проблемы платы в плане XY , все степени свободы вращения вокруг Z блокируются и плата вставляется на свой край bordl.

5.2 Сравнительное использование кинематических и "обычных" нагрузок

5.2.1 Глобальные команды

   chl = AFFE_CHAR_THER (...)
   ch2 = AFFE_CHAR_CINE_F ( TEMP_IMPO = _F ( ... ) )
   evoth = THER_LINEAIRE (. . .
                           EXCIT = ( _F (CHARGE = chl), _F (CHARGE = ch2),)
                         . . .)

5.2.2 Расчет шага различия. Расчет "шаг за шагом"

Обычные нагрузки

   chl = AFFE_CHAR_MECA (...)
   mel = CALC_MATR_ELEM ( ... OPTION = 'RIGI_MECA'
   matas = ASSE_MATRICE ( MATR_ELEM = mel ...)
   matas = FACTORISER ( reuse = matas, MATR_ASSE = matas )
   U = RESOUDRE ( MATR = matas , CHAM_NO = F )

Кинематические нагрузки

   chl = AFFE_CHAR_CINE (...)
   mel = CALC_MATR_ELEM ( ... OPTION = 'RIGI_MECA' )
   matas = ASSE_MATRICE ( MATR_ELEM = mel, ..., CHAR_CINE = chl )
   matas = FACTORISER ( reuse = matas, MATR_ASSE = matas, )
   vcine = CALC_CHAR_CINE ( ..., CHAR_CINE = ch2, )
   U = RESOUDRE ( MATR = matas , CHAM_NO = F,
                  CHAM_CINE = vcine)

Термы, обусловленные кинематическими нагрузками, относятся к правой части, что приводит к расчету дополнительной зоны узлов vcine с помощью команды CALC_CHAR_CINE (U4.61.03).