(U4.44.11) Оператор DEFI CONTACT

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


Содержание

1 Цель

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



2 Синтаксис

   char_contact =DEFI_CONTACT			
    (♦	MODELE	=   mo	,			      	  [modele]	
     ◊	INFO	=	/1,			  [DEFAUT]	
			/2,				
     ♦	FORMULATION	=	/'DISCRETE'	          [DEFAUT]	
				/'CONTINUE'		
				/'XFEM'		
				/'LIAISON_UNIL'		
    # Для формулировки контактного трения		
    {If	 FORMULATION	!='LIAISON_UNIL'				[DEFAUT]	
	 ◊ FROTTEMENT	=	/'SANS',		
				/'COULOMB',		
    # Общие параметры для сетчатого касания		
     {If  FORMULATION	==  'DISCRETE' or FORMULATION	==  'CONTINUE' }	
	  ◊ STOP_INTERP	=	/'NON',				[DEFAUT]	
	  ◊ LISSAGE	=	/'OUI'				[DEFAUT]	
				/'NON',		
	  ◊ VERI_NORM	=	/'OUI',				[DEFAUT]	
				/'OUI',		
				/'NON',		
    }				
    # Контроль геометрической нелинейности		
    {If FORMULATION =='CONTINUE'				[DEFAUT]	
	◊ ALGO_RESO_GEOM = /'POINT_FIXE',		
    			   /'NEWTON',		
    }	
    {If FORMULATION == 'DISCRETE' or (FORMULATION == 'CONTINUE' and ALGO_RESO_GEOM=='POINT_FIXE')	
	◊ REAC_GEOM	=	/'AUTOMATIQUE',			[DEFAUT]	
				/'CONTROLE',		
				/'SANS'		
	{If REAC_GEOM == 'AUTOMATIQUE'	    			[DEFAUT]	
	◊ ITER_GEOM_MAXI 	=	/10,		
	◊ RESI_GEOM		=	/iter_geom_maxi,	[I]	
					/0.01,	   		[DEFAUT]	
					/resi_geom,	 	[R]
        }
	{If REAC_GEOM	== 'CONTROLE'	   	[DEFAUT]	
		◊ NB_ITER_GEOM		=	/2,		
						/nb_iter_geom,	[I]	
        }
    }										
    {If	 (FORMULATION == 'CONTINUE' and ALGO_RESO_GEOM == 'NEWTON')	
	◊ RESI_GEOM		=	/0.000001,	     [DEFAUT]	
					/resi_geom,	     [R] 
    }	
    {If FORMULATION =='XFEM'		 				[DEFAUT]	
	◊ REAC_GEOM		=	/'SANS',
                                        /'AUTOMATIQUE',		
				        /'CONTROLE',		
	{If REAC_GEOM == 'AUTOMATIQUE'				[DEFAUT]	
	◊ ITER_GEOM_MAXI	=	/10,	
                                        /iter_geom_maxi,	[I]
	◊ RESI_GEOM		=	/0.0001,		        [DEFAUT]	
					/resi_geom,			[R]	
        }
     {If REAC_GEOM =='CONTROLE'						[DEFAUT]	
	◊ NB_ITER_GEOM	=	/2	,			
				/nb_iter_geom,			[I] 
     }		
    }										
    # Контроль контактной нелинейности				
    {If FORMULATION == 'DISCRETE'						[DEFAUT]	
        ◊ ITER_CONT_MULT =	    /4,				
				    /iter_cont_mult,		[I]	
    }
    {If FORMULATION == 'CONTINUE' or FORMULATION == 'XFEM'		
    {If FORMULATION == 'CONTINUE'						[DEFAUT]	
	◊ ALGO_RESO_CONT	=	/'NEWTON',		
					/'POINT_FIXE',		
    }										
    {If (FORMULATION == 'CONTINUE' and ALGO_RESO_CONT == 'POINT_FIXE') or FORMULATION == 'XFEM'	 
          ◊ ITER_CONT_TYPE	=	/'MAXI',				[DEFAUT]	
					/'MULT'		
	{If ITER_CONT_TYPE	==	'MULT'				[DEFAUT]	
		◊ ITER_CONT_MULT	=	 /4,		
						 /iter_cont_mult,	[I]	
        }								
	{If ITER_CONT_TYPE	==	'MAXI'				[DEFAUT]	
		◊ ITER_CONT_MAXI	=	/30,		
						/iter_cont_maxi,	[I]	
        }
      }												
    }									
    # Контроль нелинейности пороговой величины трения		
    {If FROTTEMENT ==	'COULOMB'				
    {If	FORMULATION	==	'CONTINUE'			[DEFAUT]	
	◊ ALGO_RESO_FROT	=	/'NEWTON',		
					/'POINT_FIXE',	
    }											
    {If (FORMULATION == 'CONTINUE' and ALGO_RESO_FROT == 'POINT_FIXE') or FORMULATION == 'XFEM'	
	◊ ITER_FROT_MAXI	=	/10,				[DEFAUT]			
	◊ RESI_FROT		=	/iter_frot_maxi,	[I]	
						/0.0001,			[DEFAUT]	
						/resi_frot,		[R]
    }	
    {If	(FORMULATION == 'CONTINUE' and ALGO_RESO_FROT == 'NEWTON')		
	◊ RESI_FROT	=	/0.0001,			[DEFAUT]
    				/resi_frot,		[R]	
       }											
    }										
    # Общие параметры дискретных формулировок		
    {If FORMULATION ==	'DISCRETE'			
    # Метод дуализации (CONTRAINTE, LAGRANGIEN)			[DEFAUT]	
    ◊ STOP_SINGULIER   =   /'OUI',		
    ◊	NB_RESOL	=	/'NON'						[DEFAUT]	
				/10,			
				/nb_resol						[I]	
    # Метод 'GCP'							
      ◊	RESI_ABSO	=	/resi_abso			[R]		
      ◊	ITER_GCP_MAXI	=	/0,						[DEFAUT]	
      ◊	RECH_LINEAIRE	=	/iter_gcp_maxi				[DEFAUT]	
				/'ADMISSIBLE',			
      ◊	PRE_COND	=	/'NON_ADMISSIBLE'				[DEFAUT]	
				/'SANS',			
				/'DIRICHLET'			
     {If PRE_COND == 'DIRICHLET'						[DEFAUT]	
	◊ ITER_PRE_MAXI	=	/0,				
	◊ COEF_RESI		=	/iter_pre_maxi			[DEFAUT]	
					/-1.,			
					/coef_resi			[R]	
        }								
     }	
     # Распределение случая DISCRET
     {If FORMULATION == 'DISCRETE' 
     ZONE = _F(
              ♦	/MAILLE_MAIT   = l_maille_mait                    [l_maille]
                /GROUP_MA_MAIT = grma_mait                            [gr_maille]     
              ♦	/MAILLE_ESCL   =  l_maille_escl                 [l_maille]    
                /GROUP_MA_ESCL =  grma_escl                          [gr_maille]
              ◊	SANS_NOEUD	=	l_snoeud                     [l_noeud]   
              ◊	SANS_GROUP_NO	=	l_sgrno                     [l_gr_noeud	
              ◊	SANS_MAILLE	=	l_smaille                    [l_maille]	
              ◊	SANS_GROUP_MA	=	l_sgrma                    [l_gr_maille]
              ◊	APPARIEMENT	=	/'MAIT_ESCL'                 [DEFAUT]	
					/'NODAL'	
              ◊	NORMALE		=	/'MAIT'                      [DEFAUT]	
					/'MAIT_ESCL'	
					/'ESCL'	
              ◊	VECT_MAIT	=		/'AUTO'                      [DEFAUT]	
					/'FIXE'	
    {If VECT_MAIT == 'FIXE'	/'VECT_Y'		
	♦   MAIT_FIXE	= (Yx,Yy,Yz)							
    }
    {If VECT_MAIT == 'VECT_Y'
    ♦	MAIT_VECT_Y =   (Yx,Yy,Yz)
    }
    ◊	VECT_ESCL   = /'AUTO' 
                      /'FIXE'
 	              /'VECT_Y'
    {If VECT_ESCL == 'FIXE'
      ♦	ESCL_FIXE	=   (Yx,Yy,Yz)
    }
    {If VECT_ESCL== 'VECT_Y'
      ♦	ESCL_VECT_Y =   (Yx,Yy,Yz)
    }
       ◊	TYPE_APPA	=	/'PROCHE'	        [DEFAUT]
				        /'FIXE'		
	{If	TYPE_APPA	== 'FIXE'					[R]
	♦ DIRE_APPA	=	(Yx,Yy,Yz)		
        }									
        ◊ DIST_POUTRE		=	/'NON'				[DEFAUT]
        ◊ DIST_COQUE		=	/'OUI'				[DEFAUT]
					/'NON'		
					/'OUI'		
     {If DIST_POUTRE ==   'OUI' or DIST_COQUE==	'OUI'    [cara_elem]
	♦ CARA_ELEM =	carac			
     }									
        ◊ DIST_MAIT	=	dist_mait					[fonction]
        ◊ DIST_ESCL	=	dist_escl					[fonction]
        ◊ TOLE_APPA	=	/-1.0					[DEFAUT]
        ◊ TOLE_PROJ_EXT	=	/tole_appa				[R]
				/0.50					[DEFAUT]
				/tole_proj_ext				[R]
    # Дезактивация решения						
      ◊	RESOLUTION	=	/'OUI'					[DEFAUT]
				/'NON'		
	{If RESOLUTION == 'NON'									
		◊ TOLE_INTERP	=   /0.,				[DEFAUT]	
        		            /tole_interp		[R]
        }									
      ♦	ALGO_CONT		=	/'CONTRAINTE'				[DEFAUT]
					/'LAGRANGIEN'		
					/'GCP'		
					/'PENALISATION'		
    {If ALGO_CONT == 'CONTRAINTE'						[DEFAUT]
	◊ GLISSIERE		=	/'NON'		
	{If GLISSIERE == 'OUI'	
                         /'OUI'		
									[DEFAUT]
		◊	ALARME_JEU	=	/0				
						/alarme_jeu		[R]
        }
    }													
    {If ALGO_CONT == 'PENALISATION'					[R]
	♦ E_N		=	e_n	
    }										
    {If	 FROTTEMENT =='COULOMB'
	♦	COULOMB			=	coulomb			[R]
	◊	COEF_MATR_FROT	=	/0.					[R]
	♦	ALGO_FROT		=	/coef_matr_frot		[DEFAUT]
						/'PENALISATION'		
						/'LAGRANGIEN'		
	{If ALGO_FROT == 'PENALISATION'				[R]
		♦	E_T		=	e_t		
        }	
     }	
    }
    # Распределение в случае CONTINU
    {If FORMULATION == 'CONTINUE' 
        ZONE = _F(
                  ♦ /MAILLE_MAIT   =   l_maille_mait         [l_maille]
                    / GROUP_MA_MAIT =   grma_mait            [gr_maille]
                  ♦ /MAILLE_ESCL   =   l_maille_escl         [l_maille]
                    /GROUP_MA_ESCL =   grma_escl            [gr_maille]
		  ◊ SANS_NOEUD	=	l_snoeud             [l_nod]
		  ◊ SANS_GROUP_NO	=	l_sgrno           [l_gr_noeud]
		  ◊ SANS_MAILLE	=	l_smaille          [l_maille]
		  ◊ SANS_GROUP_MA	=	l_sgrma          [l_gr_maille]	
                  ◊ APPARIEMENT	=	/'MAIT_ESCL'         [DEFAUT]
		  ◊ NORMALE	=		/'MAIT'              [DEFAUT]
						/'MAIT_ESCL'
						/'ESCL'		
		  ◊ VECT_MAIT	=	/'AUTO'    	            [DEFAUT]					/'FIXE'		
		  		        /'VECT_Y'
       {If VECT_MAIT == 'FIXE'			
		
	♦ MAIT_FIXE	=	(Yx,Yy,Yz)				  [R]	
       }						
       {If VECT_MAIT == 'VECT_Y'						  [R]	
	    ♦ MAIT_VECT_Y	=	(Yx,Yy,Yz)		
       }						
            ◊ VECT_ESCL = /'AUTO'	 						  [DEFAUT]
			  /'FIXE'		
			  /'VECT_Y'		
      {If VECT_ESCL == 'FIXE'		
	     ♦	ESCL_FIXE	=	(Yx,Yy,Yz)				  [R] 
      }								
      {If VECT_ESCL== 'VECT_Y'		
	     ♦ ESCL_VECT_Y	=	(Yx,Yy,Yz)			  [R] 
      }							
             ◊  TYPE_APPA	=	/'PROCHE'				       [DEFAUT]
                                        /'FIXE'
     {If TYPE_APPA == 'FIXE'			
	      ♦	DIRE_APPA	= (Yx,Yy,Yz)					  [R]
     }								
	      ◊ DIST_POUTRE	=	/'NON'					  [DEFAUT]
	      ◊	DIST_COQUE	=	/'OUI'					  [DEFAUT]
					/'NON'		
	                                /'OUI'		
     {If DIST_POUTRE=='OUI' or DIST_COQUE ==  'OUI'	
	   ♦ CARA_ELEM =	carac	                  [cara_elem]	
     }
   }					
           ◊ DIST_MAIT	=	dist_mait					    [fonction]	
           ◊ DIST_ESCL	=	dist_escl					    [fonction]	
           ◊ TOLE_APPA	=	/-1.0					    [DEFAUT]	
           ◊ TOLE_PROJ_EXT	=	/tole_appa			    [R]	
					/0.50				    [DEFAUT]
					/tole_proj_ext	[R]	
    # Дезактивация решения						    [DEFAUT]	
           ◊ RESOLUTION	=	/'OUI'				
				/'NON'				
    {If	RESOLUTION =='NON'		
		◊ TOLE_INTERP=	/0.,				    [DEFAUT]	
				/tole_interp		    [R] 
    }	
										
           ◊ GLISSIERE	=	/'NON'						[DEFAUT]	
           ◊ CONTACT_INIT	=	/'OUI'					[DEFAUT]	
			                /'INTERPENETRE'		
					/'OUI'				
					/'NON'				
           ◊ INTEGRATION	=	/'AUTO'					[DEFAUT]	
					/'GAUSS'			
					/'SIMPSON'			
					/'NCOTES'			
    {If	INTEGRATION ==	'GAUSS'						[DEFAUT]	
	◊ ORDRE_INT	=	/3					
				/1≤ordre_int≤6				[I]	
    }
    {If	INTEGRATION ==	'SIMPSON'				
											[DEFAUT]	
	◊ ORDRE_INT	=	/1					
				/1≤ordre_int≤4				[I]	
    }
    {If		INTEGRATION ==	'NCOTES'					[DEFAUT]	
	◊ ORDRE_INT	=	/3					
				/3≤ordre_int≤8				[I]	
    }
        ◊ ALGO_CONT	=	/'STANDARD'					[DEFAUT]	
				/'PENALISATION'		
    {If ALGO_CONT == 'STANDARD'						[DEFAUT]	
	◊ COEF_CONT	=	/100.				
				/coef_cont				[R]	
    }
										
    {If ALGO_CONT == 'PENALISATION'					[R]	
	♦ COEF_PENA_CONT =	coef_pena_cont		
    }										
    {If FROTTEMENT == 'COULOMB'  
	♦ COULOMB		=	coulomb	                     		
	◊ /SANS_NOEUD_FR		=	l_sfnoeud			[l_noeud]	
	  /SANS_GROUP_NO_FR	=	l_sgrno		   [l_gr_noeud]	
	{If SANS_NOEUD_FR! = None or SANS_GROUP_NO_FR! = None	[R]	
		◊	DIRE_EXCL_FROT		=   (Yx,Yy,Yz)		
        }
										
	◊ SEUIL_INIT		=	/0.				[DEFAUT]	
					/seuil_init			[R]	
	◊ ALGO_FROT		=	/'STANDARD'			[DEFAUT]	
					/'PENALISATION'		
	{If ALGO_FROT == 'STANDARD'					[DEFAUT]	
		◊ COEF_FROT		=	/100.			
						/coef_frot	     [R]
 	}						
	{If ALGO_FROT == 'PENALISATION'				[R]
		♦ COEF_PENA_FROT   =   /coef_pena_frot	
        }
      }													
    }							
    # Распределение в случае	XFEM				
    {If FORMULATION=='XFEM'				
    ZONE = _F(	♦ FISS_MAIT =	fiss_mait	   			    [fiss_xfem]
                ◊ INTEGRATION	=	/'NOEUD'					[DEFAUT]
					/'GAUSS'	
					/'SIMPSON'	
					/'NCOTES'	
    {If	INTEGRATION ==	'GAUSS'						[DEFAUT]
	◊ ORDRE_INT	=	/6		
				/1≤ordre_int ≤6			[I]
    }
    {If	INTEGRATION ==	'SIMPSON'						[DEFAUT]
	◊ ORDRE_INT	=	/1		
				/1≤ordre_int≤4				[I] 
    }
    {If	INTEGRATION ==	'NCOTES'						[DEFAUT]
	◊ ORDRE_INT	=	/3		
				/3≤ordre_int ≤8			[I]
    }
        ◊ CONTACT_INIT	=	/'NON'					[DEFAUT]			
        ◊ ALGO_LAGR	=	/'OUI'					[DEFAUT]
				/'VERSION1'	
        ◊ TOLE_PROJ_EXT	=	/'VERSION2'				[DEFAUT]
				/0.50	
        ◊ ALGO_CONT	=	/tole_proj_ext					[R]
				/'STANDARD'				[DEFAUT]
				/'PENALISATION'	
                                /'CZM'	
     {If ALGO_CONT == 'STANDARD'						[DEFAUT]
	◊ COEF_CONT	=	/100.	
				/coef_cont				[R]
     }							
     {If ALGO_CONT == 'PENALISATION'					[R]
	♦ COEF_PENA_CONT	=	/coef_pena_cont	
     }					
     {If	ALGO_CONT =='CZM'							[DEFAUT]
	♦ RELATION	=   /'CZM_EXP_REG'		
			    /'CZM_LIN_REG'	
			    /'CZM_OUV_MIX'	
			    /'CZM_TAC_MIX'	
     }							
       ◊ GLISSIERE	=	/'NON'						[DEFAUT]
				/'OUI'	
     {If	== 'COULOMB'								[R]
	♦ COULOMB		=	coulomb	
	◊ SEUIL_INIT	=	/0.					[DEFAUT]
	◊ ALGO_FROT		=	/seuil_init			[R]
					/'STANDARD'			[DEFAUT]
					/'PENALISATION'		
    {If ALGO_FROT == 'STANDARD'					[DEFAUT]	
        ◊ COEF_FROT	=	/100.		
				/coef_frot					[R]	
    }				
    {If ALGO_FROT == 'PENALISATION'					[R]	
         ♦ COEF_PENA_FROT	=   /coef_pena_frot		
     }					
    }					
   }
    #Распределение для случая LIAISON_UNIL		
    {If FORMULATION	== 'LIAISON_UNIL'	
     ZONE=_F(			
             ♦ /NOEUD		=	l_noeud					[l_noeud]
               /GROUP_NO		=	l_grno				   [l_gr_noeud]
               /MAILLE		=	l_maille					[l_maille]
               /GROUP_MA		=	l_grma				  [l_gr_maille]
             ♦ NOM_CMP			=	l_cmp					[l_TXM]
             ♦ COEF_IMPO		=	l_c_impo					[fonction]
             ♦ COEF_MULT		=	l_c_mult			        [l_fonction]
             ◊	SANS_NOEUD	=	l_snoeud					[l_noeud]
             ◊	SANS_GROUP_NO	=	l_sgrno				   [l_gr_noeud]
    )
   }
  );



3. Принципы

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

  • Глобальные параметры, такие как выбор формулировки или параметры контроля алгоритма нелинейного решения (петли неподвижной точки или Ньютон, то есть конкретные параметры для решателя);
  • Локальные параметры, специфические для каждой контактной зоны.

Понятие DEFI_CONTACT, заполняется в качестве параметра ключевого слова CONTACT операторов STAT_NON_LINE (U4.51.03) и DYNA_NON_LINE (U4.53.01). Каждая зона включает в себя две поверхности, которые вступают в контакт, как описано в данной группе сеток, которые их составляют.

Наборы сеток, являющиеся в потенциально контакте: поверхности и линии в размерности 3 (QUAD9, QUAD8, QUAD4, TRIA7, TRIA6, TRIA3, SEG3, SEG2), линии и двумерные точки (SEG3, SEG2 и POI1). Сетки типа POI1 должны располагаться на подчиненных поверхностях. Они не используются с формулировкой CONTINUE.

Внимание:

  • Для формулировки DISCRETE в 3х мерной размерности, обработка касания с сеткой типа QUAD8 требует связывать промежуточные узлы с узлами вершин таким образом, чтобы получить правильные результаты. Это делается автоматически в коде. Однако для расчетов промежуточных 3D узлов настоятельно рекомендуется использование элементов HEXA27 или PENTA18 (на поверхности QUAD9).
    Если, используются HEXA20 элементы, необходимые, линейные соотношения, которые автоматически записываются, могут вызвать конфликт с краевыми условиями (в частности в симметрии), поэтому необходимо наложить граничные условия только на необходимых узлах QUAD8 (можно использовать оператор DEFI_GROUP , для создания специальных узлов).
  • Для формулировки CONTINUE в 3х размерности, использование сетки с квадратичным типом краев QUAD8 или кривые TRIA6 (то есть, чьи промежуточные узлы не расположены на одной прямой) может привести к нарушениям контактного закона. Точнее, контакт решается в среднем на каждый элемент. При наличии контакта, можно наблюдать зазоры, которые могут исказить результаты, находящиеся очень близко к зоне контакта или восстановление исходного состояния. По этой причине рекомендуется использовать элементы HEXA27 или PENTA18 (на поверхности QUAD9) или много линейных элементов.
  • Можно преобразовать в PENTA18 или HEXA27 из сетки HEXA20 или PENTA15 с использованием оператора CREA_MAILLAGE (U4.23.02).

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

  1. Дискретные формулировки (см. (R5.03.50)) которые соответствуют решению дискретизированной односторонней задачи (неизвестные величины: перемещения и узловые силы). Эта формулировка доступна через FORMULATION='DISCRETE'. Он может быть использован с или без кулоновскоего трения.
  2. Непрерывная формулировка (см. (R5.03.52)), которая является дополнительным методом Лагранжа, записанным при помощи смешанной вариационной записи « перемещения / контактного давления / множители трения ». Эта формулировка доступна через FORMULATION='CONTINUE'. Она используемая с или без трения Кулона.
  3. Формулировки, организованные на элементах XFEM (см. (R7.02.12) для малых версий скольжения и (R5.03.53) для версии большого скольжения), которые являются разновидностью непрерывной постановке в случае XFEM элементов. Эти формулировки доступны через FORMULATION='XFEM'. Они могут использоваться с или без трения Кулона.
  4. Формулировка типа односторонняя соединение (FORMULATION='LIAISON_UNIL'). Близкая к дискретным формулировкам, она основывается на алгоритме, использованном в касании, чтобы накладывать краевые условия типа неравенство для любых степеней свободы. Эта формулировка отдельно рассматривается в последней части этого документа (см. §3.6).

Прежде чем сделать контактные расчеты, очень важно, прочитать руководство по эксплуатации (U2.04.04), которое с примерами объясняет большинство из ключевых слов, перечисленных ниже и описывает методологии различных исследований. Все методы решения контактного трения, называемыми «сетчатыми» формулировками (дискретные формулировки (R5.03.50) или непрерывная формулировка (R5.03.52)) основываются на стратегии в два этапа:

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

Параграфы 3.1 и 3.2 описывают объединения в пары, в то время как параграфы 3.3 и 3.4 описывают методы решения задачи.

Наконец параграф 3.5 описывает структуру данных пост обработки, произведенную контактным вычислением.

3.1 Контроль объединения в пары (без учета сетки методы XFEM)

 ♦ ZONE = _F(options d'appariement)

Ключевое слово этого параграфа применяются для сетчатых формулировок (DISCRETE и CONTINUE).

3.1.1 Операнд APPARIEMENT

  ◊ APPARIEMENT =   /'MAIT_ESCL'	[DEFAUT]
                    /'NODAL'

В случае дискретных формулировок объединение в пары может быть в виде узел-грань (‘MAIT_ESCL’) или узловое (‘NODAL’). Для узлового объединения в пары записываем отношение не проникновения между главным узлом и узлом ему подчиненным, в то время как для объединения в пары узел - грань записываем это отношение между подчиненным узлом и его проекцией на самую близкую ячейку master (см. (R5.03.50) для деталей об алгоритме объединения в пары).

Узловое объединение в пары сохранено для совместимых сеток и доступно только в DISCRETE формулировке. Объединение в пары master - slave - единственный метод, который позволяет учесть большие скольжения точно.

3.1.2 Операнд MAILLE_MAIT/GROUP_MA_MAIT/MAILLE_ESCL/GROUP_MA_ESCL

   ♦ /GROUP_MA_MAIT	=  l_grma_mait   	 [l_gr_maille]
     /MAILLE_MAIT	=  l_maille_mait    	 [l_maille]
   ♦ /GROUP_MA_ESCL	=  l_grma_escl	      	 [l_gr_maille]
     /MAILLE_ESCL	=  l_maille_escl	 [l_maille]

Для сетчатых формулировок пользователь предоставляет список потенциальных контактных ячеек поверхности master (GROUP_MA_MAIT или MAILLE_MAIT) и с поверхности slave (GROUP_MA_ESCL или MAILLE_ESCL). поверхности и линии в размерности 3 (QUAD9, QUAD8, QUAD4, TRIA7, TRIA6, TRIA3, SEG3, SEG2), линии и двумерные точки (SEG3, SEG2 и POI1).

Внимание:

  • Важно проверить, что связность этих ячеек - такая, как нормаль в структуре (для этого, используйте MODI_MAILLAGE ключевого слова ORIE_PEAU_2D, ORIE_PEAU_3D, ORIE_NORM_COQUE (U4.23.04)).
  • Пересечение ведомой и ведущей (slave и master) поверхности в одной зоне не допустимо, либо общие узлы должны быть исключены (см. 3.1.3).
  • Slave -поверхность должна быть строго не пересекаются в непрерывной формулировке.

В дальнейшем, будет использовано понятие Master-Slave: узлы поверхности slave не могут "проникнуть" в грани (или через узлы) с поверхности master. В случае объединения в пары типа ' MAIT_ESCL ', поверхность master определена в ' GROUP_MA_MAIT ' или ' MAILLE_MAIT '. В случае объединения в пары типа‘NODAL’(доступного только для дискретных формулировок), поверхность master - та, которая должна иметь большее количество узлов. Если это не случается, пользователю появляется сообщение об ошибке, в котором просят поменять местами две поверхности.

Замечание:

  • Невозможно смешать чисто двумерные модели (ограничения C_PLAN плоскости, плоской деформации D_PLAN и axi-объекты, симметричные данному AXIS) с трехмерными моделями. Поверхности Master и Slave должны быть той же природы (2D / 2D или 3D / 3D). В противном случае пользователя получит сообщение с ошибкой.

3.1.3 Операнды SANS_NOEUD/SANS_GROUP_NO/SANS_MAILLE/SANS_GROUP_MA

   ◊ SANS_GROUP_NO	= l_sgrno                [l_gr_noeud]
    ◊ SANS_NOEUD	= l_snoeud               [l_noeud]      
    ◊ SANS_GROUP_MA	= l_sgrma                [l_gr_maille]
    ◊ SANS_MAILLE	= l_smaille              [l_maille]

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

3.1.4 Операнды TYPE_APPA/DIRE_APPA

   ◊ TYPE_APPA	=	/'PROCHE'	                  [DEFAUT]						
                       /'FIXE'	
   ◊ DIRE_APPA	=	(Yx,Yy,Yz)    			   [R]		

Выбор ведущей ячейки, объединенной в пары в узле, определяется операцией минимизации расстояния между этим ведущим узлом и ячейками. С выбором по умолчанию, TYPE_APPA='PROCHE', алгоритм, использованный для этой ортогональной проекции – классический алгоритм Ньютона.

В очень редких случаях этот алгоритм может потерпеть неудачу, например, если проекция на ячейке не является уникальной, это может произойти, когда ячейка master выпуклый. В этом случае, пользователь может указать направление объединения в пары, которое необходимо использовать в алгоритме через выбор TYPE_APPA='FIXE', направление которого задано вектором в DIRE_APPA.

3.1.5 Операнды TOLE_APPA и TOLE_PROJ_EXT

   ◊ TOLE_APPA	=	/-1.0				[DEFAUT]	
    ◊ TOLE_PROJ_EXT =	/tole_appa			[R]	
			/0.50				[DEFAUT]	
			/tole_proj_ext			[R]	

В процессе объединения в пары, текущие ведомые узла, возможно, ограничить область поиска ячеек master с использованием ключевого слова TOLE_APPA. Если TOLE_APPA =-1 (значение по умолчанию), тогда все данные ячейки master в контактной зоне способны быть объединенными в пары с ведомым узлом. Если TOLE_APPA=val , если val положительное действительное число, тогда только ячейки master, расположенные, в 3D сфере, в 2D кругах радиуса val центрированный(е) на узле slave, могут быть объединенными в пары.

В некоторых случаях может быть необходимо расширить количество фиктивных ячеек мастер поверхность. Рассмотрим случай контакта на рисунке 2D 3.1.5-1 (контактные поверхности сегментов таким образом), он расположен на краю контактной поверхности. Проекция подчиненный узел выходит за мастером поверхности.

В некоторых случаях, может быть необходимо фиктивно расширить ячейки поверхности master. Рассмотрим случай контакта на рисунке 2D 3.1.5-1 (соприкасающиеся поверхности - следовательно, сегменты), он расположен на краю контактной поверхности. Проекция узла slave падает вне поверхности master.


U4.44.11 3.1.5 1.PNG

Рисунок 3.1.5-1: Проекция узла slave вне сетки master.

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


U4.44.11 3.1.5 2.PNG

Рисунок 3.1.5-2: Исключение узла slave

Однако это решение не принимает в расчет граничные случаи и может вызвать нежелательные взаимопроникновение, если сетка не «оптимальная» (то есть не достаточно тонкой, что трудно гарантировать в рамках больших изменений). И очевидно, что не можем объединить все узлы, выходящие за пределы поверхности master.

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


U4.44.11 3.1.5 3.PNG

Рисунок 3.1.5-3: Функционирование TOLE_PROJ_EXT

Размер зоны совмещения способом вращения зафиксирован ключевым словом 'TOLE_PROJ_EXT ', которое возьмет за аргумент значение, о котором сообщают в главных элементах ссылки, объёма понятия ячейки. По умолчанию, это значение равно 0,50. Например, в 2D, это означает, что любой узел slave, выступающий более чем на 25 % вправо или влево от длины сетки, master не будет совмещен способом вращения (в случае сегмента, когда опорный элемент длина 2, см. (R3.01.01)). Чтобы запретить совмещение способом вращения, достаточно зафиксировать отрицательного TOLE_PROJ_EXT. Этот оператор действует в 2D и в 3D (в последнем случае, это расширение контакта поверхности сетки).

Замечание:

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

3.1.6 Выбор нормалей

3.1.6.1 Тип нормали (NORMALE)

   ◊ NORMALE =    /'MAIT'		[DEFAUT]
		   /'MAIT_ESCL'	
		   /'ESCL'

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

  • Внешняя нормаль в ячейке master (NORMALE='MAIT', по умолчанию) ;
  • Внутренняя нормаль в ячейке slave (NORMALE='ESCL') ;
  • Среднее между нормалями master и slave (NORMALE='MAIT_ESCL').

3.1.6.2 Нахождение нормалей master или slave (VECT_MAIT/VECT_ESCL)

   ◊	VECT_MAIT	=	/'AUTO'				[DEFAUT]	
				/'FIXE'	
				/'VECT_Y'					
    ♦	MAIT_FIXE	=	(Yx,Yy,Yz)			[R]	
    ♦	MAIT_VECT_Y	=	(Yx,Yy,Yz)			[R]	
    ◊	VECT_ESCL	=	/'AUTO'				[DEFAUT]	
				/'FIXE'		
                                /'VECT_Y'	
    ♦	ESCL_FIXE	=	(Yx,Yy,Yz)			[R]	
					
    ♦	ESCL _VECT_Y	=	(Yx,Yy,Yz)			[R]

Нахождение нормали (на ячейке slave или на ячейке master) может быть выполнено несколькими способами:

  • Автоматически, нормальный вычисляется с помощью функций формы элемента, вариант "AUTO";
  • Фиксировано и непосредственно пользователем, это вариант 'FIXED'. Затем он входит в нормаль с ключевым словом MAIT_FIXE или ESCL_FIXE;
  • Переменная и данные о косвенной касательной дает вариант VECT_Y. Затем пользователь задает направление второго касательного вектора по ключевому слову MAIT_VECT_Y или ESCL_VECT_Y. Затем код восстанавливает нормаль из векторного произведения первой касательной сетки и вектора, предоставленных пользователем.

Фиксированное направление (опция VECT_*='FIXE') необходимо, если мы хотим оценить нормаль на постоянной сетки типа POI1.

Переменное направление, определяемое второй касательной (VECT_MAIT ='VECT_Y ') используется в случае балок, которые деформируются в одной плоскости. В этом случае, использование типа VECT_Y позволяет непрерывно обновлять нормаль, в то время пока балка деформируется:

N = T ⋀ VECT _ Y

U4.44.11 3.1.6.2.PNG

Рисунок 3.1.6.2-1: Нахождение нормали VECT_Y

В приведенном выше примере, T1 = (1,0,0) и T2 = (-1,0,0), с VECT_Y = (0,1,0), получим искомую нормаль для каждой балки: N1 = (0,0,1) и N2 = (0,0, -1). Ориентация каждой балки (то есть, векторы Т1 и Т2) определяется с помощью ключевого слова ORIE_LIGNE оператора MODI_MAILLAGE (U4.23.04).

3.1.6.3 Сглаживание нормали (LISSAGE)

   ◊  LISSAGE	=    /'NON',		[DEFAUT]
                     /'OUI',	

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

  • Первый этап сглаживания состоит в том, чтобы производить среднее сглаживание в узле нормали Q и в ячейках, которые содержат Q;
  • Второй этап состоит в том, чтобы интерполировать нормаль P или M начиная с нормалей из Q и функций формы, связанной с ячейке содержавшие P или М.

Сглаживание учитывает варианты нормалей, решенных ключевыми словами VECT_MAIT и VECT_ESCL. Внимание, этот параметр является глобальным.

3.1.7 Изменение зазора

Зазор всегда вычисляется как минимальное расстояние между узлом slave и наиболее близкой проекцией на сетку master, с точностью до выбора нормали (см. 3.1.6). Однако определить значения зазора « жестко », например, чтобы имитировать наличие дыры или горба, не представленного сеткой, или учитывать геометрические характеристики элементов структуры, которые используют понятие нейтрального слоя или средне поверхности.

3.1.7.1 Операнды DIST_MAIT/DIST_ESCL

    ◊	DIST_MAIT	=	dist_mait					[fonction]
    ◊	DIST_ESCL	=	dist_escl					[fonction]

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

Этот зазор учтен на поверхностях master (DIST_MAIT) или slave (DIST_ESCL). Расстояние считается положительное, если оно направлено из нормали в структуре (см. (R5.03.50)). Отрицательное значение позволяет, следовательно «уменьшать» поверхность (master как slave). И наоборот, положительное значение позволяет "увеличить" поверхность. Информированные величины - необходимые функции переменных пространства. Если пользователь желает фиксировать значение, он должен определить константу функции (см. DEFI_CONSTANTE (U4.31.01)).

3.1.7.2 Операнды DIST_POUTRE/DIST_COQUE/CARA_ELEM

    ◊	DIST_POUTRE	=	/'NON'				[DEFAUT]	
    ◊	DIST_COQUE	=	/'OUI'				[DEFAUT]	
				/'NON'		
				/'OUI'					
    ♦	CARA_ELEM	=	carac			        [cara_elem]

Подобные предыдущим ключевым словам, ключевые слова DIST_POUTRE / DIST_COQUE позволяют ввести фиктивный зазор, который основывается на описании элементов структуры в понятии, описанном в AFFE_CARA_ELEM, в котором пользователь обязательно информировал:

  • для элементов балки (моделирование POU_ *), ключевое слово DIST_POUTRE обусловливает, что код должен принять в расчет дополнительный зазор, соответствующий радиусу кругового сечения балки.
  • для элементов пластины или корпуса (например, моделирование DKT или COQUE_3D), ключевое слово DIST_COQUE обусловливает, что код должен принять в расчет дополнительный зазор, соответствующий половине толщины, вокруг среднего листа корпуса.

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

3.2 Контроль объединения в пары, специфического для формулировки CONTINUE

3.2.1 Операнды SANS_NOEUD_FR/SANS_GROUP_NO_FR

    ◊	/SANS_NOEUD_FR	=	l_sfnoeud		[l_noeud]
	/SANS_GROUP_NO_FR =	l_sgrno			[l_gr_noeud]
    ◊	DIRE_EXCL_FROT	=	(Yx,Yy,Yz)		[R]

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

В 2D, никаких других ключевых слов не необходимо: узлы исключены из трения.

В 3D, если пользователь указал вектор с тремя компонентами с ключевым словом DIRE_EXCL_FROT тогда, направление, указанное проекцией этого вектора на касательной плоскость в точках касания - исключено. Следовательно, замыкание или скольжение произведутся только в перпендикулярном направлении (в касательной плоскость).

Если пользователь не указывает ключевое слово DIRE_EXCL_FROT в 3D, тогда это означает исключение двух ортогональных направления трения и следовательно не найдет трение в исключенных узлах.

3.3 Выбор и контроль глобального алгоритма решения

3.3.1 Контроль геометрической нелинейности

Независимо от используемой формулировки, необходимо обработать геометрическую нелинейность задачи касания-трения. Ей можно пренебречь (REAC_GEOM='SANS'), решить приближённо (REAC_GEOM='CONTROLE') или точно (REAC_GEOM='AUTOMATIQUE').

Чтобы решить эту нелинейность, мы используем общий алгоритм типа "неподвижная точка" (ALGO_RESO_GEOM ='POINT_FIXE ').Формулировка CONTINUE также способна обработать геометрическую нелинейность в алгоритме Ньютона (ALGO_RESO_GEOM='NEWTON', смотреть в §3.3.4.4).

В формулировке XFEM, выбор для включения геометрического обновления или нет описывается двумя различными формулировками (см. (R5.03.53)): X-FEM малые скольжения или X-FEM большие скольжения.

Когда геометрической нелинейности в виде петли решается алгоритмом "неподвижной точки", можно регулировать ряд параметров:

    ◊ REAC_GEOM	=	/'AUTOMATIQUE',				[DEFAUT]	
			/'CONTROLE',		
    ◊ ITER_GEOM_MAXI   =	/'SANS'				[DEFAUT]	
              		        /10,					
    ◊	RESI_GEOM	=	/iter_geom_maxi,		[I]	
				/0.01,				[DEFAUT]	
				/0.0001,			[DEFAUT] (XFEM)	
    ◊	NB_ITER_GEOM	=	/resi_geom,			[R]	
				/2,				[DEFAUT]	
				/nb_iter_geom,			[I]	

Операнд REAC_GEOM указывает, в какой геометрии рассматривается контактная задача:

  • REAC_GEOM = 'AUTO': автоматически обновляет геометрию, то есть число « итераций геометрического обновления» циклов, сходимость не фиксируется заранее, а удовлетворяет геометрическому критерию сходимости. Этот вариант используется по умолчанию, рекомендуется для правильного решения нелинейности при объединении в пары. Это гарантирует, что контактные условия, наложенные на (начальную) конфигурацию, отличается менее чем на resi_geom от данной конфигурацию (1% по умолчанию для формулировок DISCRETE или CONTINUE, 0,01% по умолчанию для формулировки XFEM).
  • REAC_GEOM = 'NOT': работает над начальной геометрией. Эта опция приемлема только в случае малых возмущений или когда нормаль в соприкасающихся поверхностях не изменяется в процессе вычислений.
  • REAC_GEOM = 'CONTROL': когда автоматические критерии не может быть выполнены, пользователь должен сам контролировать геометрические обновления и для этого он должен сообщить параметр NB_ITER_GEOM. Это число циклов геометрических обновлений, которые будут сделаны на шаге нагрузки.
    Подробнее о шагах нагрузки:
    • Значение 1 указывает, что в сходимости Ньютона, будет пересмотрена геометрия и не принимает во внимание следующий шаг нагрузки.
    • Значение 2 указывает, что в сходимость Ньютон, она обновляет геометрию и повторяется эта операция до сходимости, прежде чем перейти к следующему шагу нагрузки.
    • Значение n > 2 показывает, что производится n циклов «геометрического обновления», прежде чем перейти к следующему шагу нагрузки.

Если вы выбрали REAC_GEOM = "AUTO", параметр ITER_GEOM_MAXI - максимально допустимое количество циклов геометрических обновлений. Если критерий RESI_GEOM не удовлетворен после iter_geom_maxi циклов, тогда останавливаемся по ошибке или уменьшаем шаг времени, по требованию пользователя. Документация (U2.04.04) дает много советов, чтобы преодолеть эти проблемы сходимости (в частности, включить сглаживание).

Замечание:

  • Если пользователь выбирает n> 1 и Code_Aster обнаруживает необходимость геометрического обновления, он сообщает предупреждение. Пользователь решает, является ли допущенная ошибка (необходимо больше 1 %) приемлемой или нет. Существует риск ошибки объединения в пары (ячейка была объединена в пары на конфигурации, которая была в движении) и, следовательно, взаимопроникновения.
  • В случае, когда мы решаем в начальной геометрии или с одним циклом геометрических обновлений, предупреждения нет, так как мы не можем вычислить ошибку. Пользователь обязательно должен проверить обоснованность своего выбора в пост-обработке.
  • Значение геометрических критериев сходимости приведены в таблице итераций Ньютона (столбец CONTACT CRITERE VALEUR).

3.3.2 Трение

   ◊	FROTTEMENT  =   /'SANS',	[DEFAUT]
                       /'COULOMB',

Чтобы назначить трение Кулона в зоне контакта, используйте ключевое слово FROTTEMENT='COULOMB'. Это ключевое слово является глобальным (действителен для всех зон), но оно можно повлиять на зону трения, задав коэффициент Кулона (указываем коэффициент 0, когда вы не хотите трения).

3.3.3 Формулировка DISCRETE

3.3.3.1 Выбор алгоритмов

  ♦ ALGO_CONT	=	/'CONTRAINTE'	  		[DEFAUT]
			/'GCP'	
			/'PENALISATION'	
  ♦ ALGO_FROT	=	/'LAGRANGIEN'	         	 [DEFAUT]
			/'PENALISATION'	
			/'LAGRANGIEN'	

Чтобы выбрать тип алгоритма в формулировки DISCRETE используются ключевые слова ALGO_CONT и ALGO_FROT. ALGO_FROT может быть изменен, только если FROTTEMENT='COULOMB'. Не все комбинации возможны:

ALGO_FROT='PENALISATION' ALGO_FROT='LAGRANGIEN'
ALGO_CONT='CONTRAINTE' Impossible Impossible
ALGO_CONT='GCP' Impossible Impossible
ALGO_CONT='PENALISATION' OK Impossible
ALGO_CONT='LAGRANGIEN' OK OK

Есть различные методы решения:

  • 'CONTRAINTE' по умолчанию алгоритм, который решает проблему одностороннего контакта с точным методом активных ограничений (см. (R5.03.50)). Без трения.
  • 'GCP': это итерационный метод, близкий к 'CONTRAINTE', но который особенно подходит для случаев, когда количество контактных связей очень много. Без трения..
  • 'PENALISATION': метод со штрафом может обрабатывать контактные задачи в приближенном виде, с трением или без него, в 2D или 3D.
  • 'LAGRANGIEN': метод Лагранжа позволяет точно решать контактные задачи с использованием множителей Лагранжа, с трением или без него, в 2D и 3D.

Хотя различные алгоритмы задаются в некоторых областях, невозможно смешивать различные комбинации методов в том же DEFI_CONTACT.

3.3.3.2 Дуализированные методы

Метод CONTRAINTE позволяет решить контактные задачи без трения точно (никакого взаимопроникновения не допускается). Он очень быстрый и надежный, его сходимость доказана. Решение системы неравенств основывается на явном построении дополнений Schur, ограниченных использованием контактных связей (примерно сто). Затраты памяти и вычисление становятся слишком большими.

Метод LAGRANGIEN отличается от метода FORCED тем фактом, что у него есть доказательство сходимости (обновление действующих напряжений, воздействующих совместно), и что она может использоваться на FROTTEMENT. Для получения дополнительной информации, см. (R5.03.50).

    ◊	NB_RESOL	=   /10,	[DEFAUT]
                            /nb_resol	[I]

NB_RESOL - число одновременных решений для построения дополнения Schur. Выполнить несколько одновременных решений позволяет манипуляция блочными матрицами. Увеличение nb_resol ускоряет построение дополнения Schur, но требует больше памяти. nb_resol=10 хороший компромисс. Этот параметр зарезервирован для специалистов.

   ◊ STOP_SINGULIER   =   /'OUI',	[DEFAUT]
                          /'NON'

STOP_SINGULIER позволяет ослабить фатальную ошибку, появляющуюся когда дополнение Schur теряет значительную часть десятичных цифр в факторизации (8 знаков после запятой по умолчанию). Для этого устанавливается STOP_SINGULIER=‘NON’. Этот параметр зарезервирован для специалистов.

   ◊ ITER_CONT_MULT   =   /4,	[DEFAUT]
                          /iter_cont_mult,	[I]

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

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

Примечание:

Для CONTRAINTE метода, сходимость которого доказана, этот коэффициент твердо фиксирован и равен 2.

3.3.3.3 Метод GLISSIERE

  ◊	GLISSIERE	=	/'NON'				[DEFAUT]	
  ◊	ALARME_JEU	=	/'OUI'				[DEFAUT]	
				/0		
				/alarme_jeu			[R]	

Эта опция доступна только для метода ‘CONTRAINTE’. Она позволяет активировать двусторонних контактов, также называется "слайд", в котором две поверхности находится в соприкосновении, " приклеенными " (то есть, без зазора) независимо от изменения нагрузки. Она разрешает большие относительные скольжения.

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

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

3.3.3.4 Метод GCP

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

  ◊	RESI_ABSO	=	/resi_abso			[R]	
  ◊	ITER_GCP_MAXI	=	/0				[DEFAUT]	
  ◊	RECH_LINEAIRE	=	/iter_gcp_maxi			[DEFAUT]	
				/'ADMISSIBLE'		
				/'NON_ADMISSIBLE'		
  ◊	PRE_COND	=	/'SANS',			[DEFAUT]	
  ◊	ITER_PRE_MAXI	=	/'DIRICHLET'			[DEFAUT]	
				/0		
  ◊	COEF_RESI	=	/iter_pre_maxi			[DEFAUT]	
				/-1.		
				/coef_resi			[R]

Ключевое слово RESI_ABSO регулирует точность решения контактных неравенств (т.е. критерий останова на значение зазора для итерационного алгоритма). RESI_ABSO (включая «абсолютный остаток») это максимальный уровень взаимопроникновения, который переносится на телесный контакт.

С практической точки зрения, мы начинаем с выбора значения примерно в 10-3 раза больше элементов в непосредственной близости от поверхности контакта, затем это значение снизится до стабильных результатов.

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

Как и любой метод решения, итерационный метод 'GCP' может быть ускорен путем предварительного упаковывания. Единственный сегодня метод для предварительной упаковки - метод Дирихле (PRE_COND='DIRICHLET'). Его использование может в некоторых случаях быстрее и значительно сократить время решения. По умолчанию никакого сжатия не включено (PRE_COND = 'NO').

Предварительные подготовки, осуществляется путем решения (также итерационным) вспомогательной задачи. Ключевое слово COEF_RESI не может вызвать предварительное сжатие, когда вычет сократился достаточно, точнее, когда начальный вычет алгоритма (то есть начальное взаимопроникновение) умножали на coef_resi (coef_resi меньше, чем 1). ITER_PRE_MAXI позволяет зафиксировать максимальное число итераций предварительного упаковщика.

Метод решения ' GCP ' требует фазу, названную линейным поиском. Доступны два варианта: допустимый или не допустимый. Он выбирается ключевым словом RECH_LINEAIRE (см. (R5.03.50)).

3.3.3.5 Метод PENALISATION

Этот метод - метод решения контакта / регулировки трения. Он не точен в направлении, где всегда есть взаимопроникновение, когда контакт установлен. Если используется дискретная формулировка со штрафом, целесообразно задать коэффициент(ы) штрафа (см. §3.4.1.1).

3.3.4 Формулировка CONTINUE

3.3.4.1 Выбор алгоритмов

  ◊   ALGO_RESO_CONT	=	/'NEWTON'			[DEFAUT]	
                                /'POINT_FIXE'
  ◊   ALGO_RESO_FROT	=       /'NEWTON'			[DEFAUT]	
  ◊   ALGO_RESO_GEOM	=	/'POINT_FIXE'			[DEFAUT]	
                                /'POINT_FIXE'		
                                /'NEWTON'

В формулировке continue есть два типа алгоритмов для решения нелинейности контактного трения: алгоритм неподвижной точки или обобщенный алгоритм Ньютона. В дополнение к геометрической нелинейности (см. § 3.3.1), этот выбор может быть сделан для нелинейности контакта и трения с помощью ключевых слов ALGO_RESO_CONT, ALGO_RESO_FROT и ALGO_RESO_GEOM (не все варианты возможным):

ALGO_RESO_CONT ALGO_RESO_FROT ALGO_RESO_GEOM
POINT_FIXE POINT_FIXE POINT_FIXE OK
NEWTON POINT_FIXE POINT_FIXE OK
POINT_FIXE NEWTON POINT_FIXE OK
NEWTON NEWTON POINT_FIXE OK (par défaut)
POINT_FIXE POINT_FIXE NEWTON Impossible
NEWTON POINT_FIXE NEWTON OK
POINT_FIXE NEWTON NEWTON Impossible
NEWTON NEWTON NEWTON OK

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

Какой бы ни был использован метод решения (неподвижная точка или Ньютон) полученные результаты идентичны.

3.3.4.2 Контактная нелинейность

  ◊   ITER_CONT_TYPE   =   /'MAXI',				[DEFAUT]
			   /'MULT'							
  ◊   ITER_CONT_MULT   =   /4,					[DEFAUT]
			   /iter_cont_mult,			[I]
  ◊   ITER_CONT_MAXI   =   /30,					[DEFAUT]
			   /iter_cont_maxi,			[I]

С настройками по умолчанию (ALGO_RESO_CONT='NEWTON'), нет никаких параметров для обеспечения решения контактной нелинейности. При выборе ALGO_RESO_CONT = 'POINT_FIXE', мы можем контролировать цикл законов контакта, состоящие из двух способов:

  • Задавая максимальное число контактных итераций, ITER_CONT_TYPE='MAXI' затем ITER_CONT_MAXI;
  • Задавая максимальное число контактных итераций множителем коэффициента, ITER_CONT_TYPE ='MULT ' затем ITER_CONT_MULT; в этом случае, число итераций законов контакта будет равно произведению iter_cont_mult на числа подчиненных узлов.

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

3.3.4.3 Нелинейность пороговой величины трения

  ◊	ITER_FROT_MAXI	=	/10,				[DEFAUT]	
  ◊	RESI_FROT	=	/iter_frot_maxi,		[I]	
				/0.0001,			[DEFAUT]	
				/resi_frot,			[R]	

По умолчанию задача Кулона решена алгоритмом обобщённого Ньютона (ALGO_RESO_FROT='NEWTON'), единственное ключевое слово, которое можем указать RESI_FROT , который помогает определять критерий стационарности пороговой величины (парный объект RESI_GEOM, см. 3.3.1). Дополнительный столбец в таблице сходимости позволяет проследить за значением критерия (столбец CONTACT NEWTON GENE CRIT. FROT.).

При выборе ALGO_RESO_FROT='POINT_FIXE', задача Кулона решается последовательностью неподвижных точек на пороговой величине Tresca. Чтобы управления этими циклами используется механизм - тот же, что и при цикле геометрического обновления (см. 3.3.1, ITER_FROT_MAXI действует как ITER_GEOM_MAXI и RESI_FROT, действует как RESI_GEOM).

3.3.4.4 Геометрическая нелинейность

  ◊	RESI_GEOM	=   /0.000001,          [DEFAUT]
                           /resi_geom,         [R]

Параметров цикла неподвижной точки на геометрии (по умолчанию) приведены в § 3.3.1.

При выборе ALGO_RESO_ GEOM ='NEWTON', мы переключаемся на алгоритм обобщенного Ньютона. Геометрической нелинейности учитываются при каждой итерации Ньютона: происходит объединение в пары и пересчитывается локальный базис (нормаль и касательные). В этом режиме дополнительный столбец появляется в таблице сходимости, он соответствует оценке геометрического критерия (колонка CONTACT NEWTON GENE CRIT. GEOM.).

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

3.3.5 Формулировка XFEM

3.3.5.1 Цикл неподвижной точки для контактных законов

  ◊   ITER_CONT_TYPE   =   /'MAXI',	      		[DEFAUT]	
			   /'MULT'	      
  ◊	ITER_CONT_MULT   =   /4,			[DEFAUT]	
			     /iter_cont_mult,	    	[I]	
  ◊	ITER_CONT_MAXI   =   /30,	    		[DEFAUT]
			     /iter_cont_maxi,	        [I]	

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

  • Задавая максимальное число контактных итераций, ITER_CONT_TYPE='MAXI' затем ITER_CONT_MAXI;
  • Задавая максимальное число контактных итераций множителем коэффициента, ITER_CONT_TYPE ='MULT ' затем ITER_CONT_MULT; в этом случае, число итераций законов контакта будет равно произведению iter_cont_mult на числа подчиненных узлов.

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

Если вы превысите максимальное число итераций контакта, вы можете попробовать измельчить сетку, путем дробления шага по времени в качестве последнего средства или увеличить значение ITER_CONT_MAXI / ITER_CONT_MULT.

3.3.5.2 Цикл неподвижной точки для трения

  ◊	ITER_FROT_MAXI	=   /10,				[DEFAUT]
  ◊	RESI_FROT	=	/iter_frot_maxi,		[I]	
				/0.0001,			[DEFAUT]
				/resi_frot,			[R]	

Для формулировки XFEM (при малых скольжениях), задача Кулон решенный последовательностью неподвижных точек на пороговой величине Tresca. Чтобы управления этими циклами используется механизм - тот же, что и при цикле геометрического обновления

Для X-FEM, при больших скольжениях (REAC_GEOM!='SANS'), нет цикла на пороговых величинах Tresca (алгоритм обобщённого Ньютона). У параметра ITER_FROT_MAXI не имеет никакого эффекта.

3.3.6 Метод без решения

 ◊	STOP_INTERP	=   /'NON',             [DEFAUT]
                            /'OUI'

В случае режима без резолюции (см. § 3.4.4) код выдает предупреждения, когда он обнаруживает, взаимопроникновение. Параметр STOP_INTERP позволяет остановить вычисление вместо того, чтобы тревожить пользователя.

3.4 Локальные параметры контроля решения

3.4.1 Локальные параметры DISCRETE формулировки

 ♦ ZONE =_F(paramètres locaux)

Ключевые слова в этом пункте действительны для формулировки DISCRETE.. Параметры определяются в области действия.

3.4.1.1 Метод 'PENALISATION'

  ♦	E_N	=	e_n			[R]
  ♦	E_T	=	e_t			[R]

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

Кроме того, можно контролировать расстояние взаимопроникновения и, следовательно, результаты выбора коэффициента, без наличия трения, так как до опыта мы не знаем, какие области являются скользящими, а какие не скользящими, в случае контакта можно убедиться, что расстояния взаимопроникновение малы по сравнению с характерными размерами зон контакта. Существует в формулировке DISCRETE механизм автоматической регулировки коэффициента штрафа E_N (см. DEFI_LIST_INST (U4.34.03)).

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

3.4.1.2 Специфические параметры трения

  ♦	COULOMB		=	coulomb			[R]
  ◊	COEF_MATR_FROT	=	coef_matr_frot		[R]

Параметр COULOMB задает коэффициент трения.

В случае метода со штрафом или Лагранжевой 3D формулировки, параметр COEF_MATR_FROT, заключённый между 0 и 1, позволяет смягчить дестабилизирующий эффект отрицательной части матрицы скольжения (которое присоединено к касательной жесткости, см. (R5.03.50)). Чем больше этот коэффициент, тем лучше сходимость, когда мы близки к равновесию и тем больше проблем при решении, когда далеко от равновесия. Значение 0.5 - следовательно, хороший компромисс. Значение по умолчанию, значение равно 0, гарантирует наилучшую устойчивость в течение более длительного времени вычислений.

3.4.2 Локальные параметры для формулировки CONTINUE

 ♦	ZONE	=_F(paramètres locaux)

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

Параметры определяются в области действия.

3.4.2.1 Операнды CONTACT_INIT/SEUIL_INIT

  ◊	CONTACT_INIT	=	/'INTERPENETRE'		[DEFAUT]	
			        /'OUI'		
  ◊	SEUIL_INIT	=	/'NON'			[DEFAUT]	
			        /0.		
			        /seuil_init		[R]	

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

По умолчанию, только связи не с нулевым зазором или при взаимопроникновении вычисляются алгоритмом (CONTACT_INIT='INTERPENETRE'). Говоря о трении, все связи считаются скользящими, пороговая величина начального скольжения равна нулю (SEUIL_INIT=0).

Тем не менее, можно заставить алгоритм полностью вычислять связи без исключения (CONTACT_INIT='OUI') или взять пороговую величину начального скольжения отличного от нуля, задавая SEUIL_INIT. Пороговая величина скольжения имеет размерность силы отнесённой к единице плотности поверхности. В точке соприкасающейся поверхности, будет скольжение, контактное давление λ и коэффициент трения, удовлетворяющее:

λ * μ * SEUIL_INIT

Кроме того, можно отключить любое начальное касание CONTACT_INIT='NON'.

Значение CONTACT_INIT='INTERPENETRE' обязательно в случае возобновления вычисления с исходным состоянием.

3.4.2.2 Коэффициенты для формулировки CONTINUE

   ◊	ALGO_CONT	=	/'STANDARD'		[DEFAUT]	
				/'PENALISATION'		
  {If ALGO_CONT == 'STANDARD'					[DEFAUT]	
	♦	COEF_CONT =	/100.		
				/coef_cont			[R]	
  }
						
  {If ALGO_CONT == 'PENALISATION'				[R]	
	♦	COEF_PENA_CONT=coef_pena_cont	
  }	
						
  ◊	ALGO_ FROT	=	/'STANDARD'			[DEFAUT]	
				/'PENALISATION'		
  {If ALGO_FROT == 'STANDARD'					[DEFAUT]	
	♦	COEF_FROT =	/100.		
				/coef_frot			[R] 
  }							
  {If ALGO_FROT == 'PENALISATION'				[R]	
	♦	COEF_PENA_ FROT= coef_pena_frot
  }

Формулировка continue - увеличенная Лагранжева формулировка. Так же существует версия со штрафом.

Если выбирается ALGO_CONT='STANDARD' и ALGO_FROT='STANDARD', формулировка continue тогда эквивалентна обычной Лагранжевой формулировке, коэффициенты увеличения которой даны, соответственно, COEF_CONT и COEF_FROT.

Если выбирается ALGO_CONT='PENALISATION' и ALGO_FROT='PENALISATION', формулировка просто штрафуется. Обращаемся только к COEF_PENA_CONT и COEF_PENA_FROT. Метод со штрафом описан в случае дискретного метода в §3.3.3.5 и §3.4.1.1, COEF_PENA_CONT соответствует E_N и COEF_PENA_FROT соответствует E_T.

Невозможно смешивать стандартную формулировку для касания и штрафовавшую для трения.

3.4.2.3 Операнд INTEGRATION

   ◊   INTEGRATION	=   /'AUTO'			[DEFAUT]
			    /'GAUSS'	
			    /'SIMPSON'	
			    /'NCOTES'	
  {if INTEGRATION ==	'GAUSS'	
  ◊	ORDRE_INT	=	/3			[DEFAUT]
			        /1≤ordre_int ≤6		[I]	
  }
  {If INTEGRATION ==	'SIMPSON'			[DEFAUT]
  ◊	ORDRE_INT	=	/1		
			        /1≤ordre_int≤4		[I]
  }		
  {If INTEGRATION ==	'NCOTES'			[DEFAUT]
  ◊	ORDRE_INT	=	/3 ≤8		
			        /3≤ordre_int	}	[I]

Операнда ‘INTEGRATION’ позволяет выбрать метод численного интегрирования для условий контакта и трения. Некоторые методы реализованы:

  • ‘AUTO’ чтобы позволять коду выбирать наиболее приспособленную схему интегрирования (типа трапеция или Simpson);
  • ‘GAUSS’ для квадратуры Гаусса с возможностью выбрать степень полиномов, чтобы позволяет интегрировать схему точно;
  • ‘SIMPSON’ для схемы Simpson (1/3) с возможностью выбора количества разделителей опорных элементов;
  • ‘NCOTES’ для схемы Newton-Cotes с возможностью выбора степени полинома интерполяторами.

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

Автоматическое интегрирование (по умолчанию) наиболее общее и наиболее эффективное. Выбор схемы интеграции предназначен для специалистов.

3.4.2.4 Операнд GLISSIERE

 ◊ GLISSIERE	=   /'NON'        [DEFAUT]
                    /'OUI'

В отличие от дискретной формулировки (см. § 3.3.3.3), можно включить эту опцию для каждой зоны.

3.4.3 Локальные параметры для формулировки XFEM

 ♦ ZONE = _F(paramètres locaux)

Ключевые слова в этом пункте действительны для формулировки XFEM. Параметры определяются в области действия.

3.4.3.1 Операнд FISS_MAIT

 ♦ FISS_MAIT	=   fiss_mait       [fiss_xfem]

Для формулировки XFEM, пользователь предоставляет трещину, стенки которой потенциально собираются вступить в контакт (FISS_MAIT). Ожидаемое понятие приходит из оператора DEFI_FISS_XFEM (U4.82.08).

3.4.3.2 Операнд CONTACT_INIT/SEUIL_INIT

   ◊	CONTACT_INIT	=	/'NON'	     		[DEFAUT]
   ◊	SEUIL_INIT	=	/'OUI'	    		[DEFAUT]
				/0.	
				/seuil_init	     	[R]

См. 3.4.2.1.

3.4.3.3 Коэффициенты формулировки XFEM

   ◊	ALGO_CONT	=	/'STANDARD'		[DEFAUT]	
				/'PENALISATION'			
   ◊	COEF_CONT	=	/'CZM'			[DEFAUT]	
				/100.			
   ◊	COEF_PENA_CONT	=	/coef_cont		[R]	
				/100.			[DEFAUT]	
   ◊	ALGO_FROT	=	/coef_pena_cont		[R]	
				/'STANDARD'		[DEFAUT]	
   ◊	COEF_FROT	=	/'PENALISATION'		[DEFAUT]	
				/100.			
   ◊	COEF_PENA_FROT	=	/coef_frot		[R]	
				/100.			[DEFAUT]	
				/coef_pena_frot		[R]	

Формулировка XFEM - запись непрерывного типа. Выбор коэффициентов - тот же, что в случае формулировки continue (§3.4.2.2).

Алгоритм ALGO_CONT = 'CZM' (Модель Связующая Зоны) является специальным. Он используется, когда мы желаем моделировать связующие силы между двумя краями трещины. Контакт учитывает слагаемые, характеризующие штраф в связующем законе. Параметры, относящие к закону контактного трения, не должны быть заданы. Действительно, параметр COEF_PENA_CONT становится бесполезен, коэффициент штрафа, будучи определенный из параметров материала, предоставляется оператором DEFI_MATERIAU (U4.43.01), с ключевым словом RUPT_FRAG. Касательное напряжение удовлетворяет связующему закону, а не закону трения, без ключевого слова для трения.

3.4.3.4 Операнд INTEGRATION

  ◊	INTEGRATION	=	/'NOEUD'			[DEFAUT]	
				/'GAUSS'				
				/'SIMPSON'				
				/'NCOTES'				
   {If INTEGRATION ==	'GAUSS'					[DEFAUT]	
	   ◊	ORDRE_INT	=	/6			
					/1≤ordre_int≤6		[I]	
   }						
   {If INTEGRATION =='SIMPSON'					[DEFAUT]	
	   ◊	ORDRE_INT	=	/1			
					/1≤ordre_int≤4		[I]	
   }					
   {If INTEGRATION ==	'NCOTES'				[DEFAUT]	
	   ◊	ORDRE_INT	=	/3			
			                /3≤ordre_int≤8		[I]	
   }			

Это ключевое слово имеет то же значение, что и формулировка CONTINUE, см. § 3.4.2.3. Это параметр для специалистов.

3.4.3.5 Операнд GLISSIERE

   ◊	GLISSIERE	=	/'NON'		[DEFAUT]
				/'OUI'		

В отличие от дискретной формулировки (см. § 3.3.3.3), можно включить эту опцию для каждой зоны.

3.4.3.6 Операнд ALGO_LAGR

  ◊   ALGO_LAGR =    /'VERSION1'	[DEFAUT]
		      /'VERSION2'		

Это ключевое слово определяет выбор метода исключения трения Лагранжа, чтобы удовлетворять условие LBB (см. (R7.02.12)). Этот параметр предназначен для использования специалистами.

3.4.3.7 Операнд RELATION

   ◊	RELATION	=   /'CZM_EXP_REG'            [DEFAUT]
                            /'CZM_LIN_REG'
                            /'CZM_TAC_MIX'
                            /'CZM_OUV_MIX'

Ключевое слово RELATION позволяет принять в расчет силы сцепления в интерфейсе X-FEM. Он используется исключительно с ALGO_CONT = 'CZM'. Связи моделируется связующим законом того же названия, что уже существовал в классическом методе конечные элементы (см. инструкцию по применению (U2.05.07), документации (R7.02.11) для определения этих законов и документации (R5.03.54) для их распространения в X-FEM).

Данные, необходимые для поля материал приведены в операторе DEFI_MATERIAU (U4.43.01), под ключевым словом RUPT_FRAG.

3.4.4 Метод без решения

  ◊	RESOLUTION	=	/'OUI',			[DEFAUT]
				/'NON'	
   ◊	TOLE_INTERP	=	/0.,			[DEFAUT]
				/tole_interp		[R]

Когда RESOLUTION='NON', реализуется контроль взаимопроникновение двух поверхностей без необходимости выполнения контактных условий (если есть взаимопроникновение, оно не будет исправлено). Код выдает предупреждение при обнаружении проникновения в конце этапа загрузки. Глобальный параметр STOP_INTERP (§3.3.6) позволяет остановить вычисление вместо того, чтобы тревожить пользователя.

TOLE_INTERP (по зонам) упорядочивает значение взаимопроникновения (эквивалент длины блока в сетке). Этот метод доступен в формулировках continue и discrete.

Замечание:

  • В режиме RESOLUTION='NON', объединение в пары выполняется только один раз в конце каждого временного шага, понятия геометрического цикла больше не существует, если для всех зон RESOLUTION='NON'. В последнем случае, если опция REAC_GEOM отлична от 'SANS', то использовать ее не имеет смыла.
  • Тот факт, что режим RESOLUTION='NON' обнаруживает взаимопроникновения в зонах контакта, не предполагаемых фактического расчета (с фактической проверкой одностороннего условия) дает те же результаты. Действительно, активация одностороннего условия обязательно изменит кинематику деформации по отношению к RESOLUTION='NON'. Поэтому необходимо быть осторожным, когда смешиваются зоны контакта с решением и другие, без решения.

3.5 Структура данных VALE_CONT

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

  • CONT : индикатор фрикционного контакта
    • 0 : без контакта
    • 1: прилегающий контакт (только если FROTTEMENT='COULOMB')
    • 2 : скользящий контакт
  • JEU : значение зазора
  • RN : стандартная нормальная реакция контакта
  • RN : стандартная нормальная реакция контакта
  • RNX : компонента DX по нормальной реакцией контакта
  • RNY : компонента DY по нормальной реакцией контакта
  • RNZ : компонента DZ по нормальной реакцией контакта
  • GLIX : компонента t1 тангенциального скольжения (локального)
  • GLIY : компонента t2 тангенциального скольжения (локального)
  • GLI : норма тангенциального скольжения
  • RTAX : компонента DX тангенциальной силы замыкания
  • RTAY : компонента DY тангенциальной силы замыкания
  • RTAZ : компонента DZ тангенциальной силы замыкания
  • RTGX : компонента DX тангенциальной силы замыкания
  • RTGY : компонента DY тангенциальной силы замыкания
  • RTGZ : компонента DZ тангенциальной силы замыкания
  • RX : компонента DX силы трения контакта (RNX+RTAX+RTGX)
  • RY : компонента DY силы трения контакта (RNY+RTAY+RTGY)
  • RZ : компонента DZ силы трения контакта (RNZ+RTAZ+RTGZ)
  • R : норма задающей контактной силы
  • I : импульс силы, равнодействующей R заедающей контактной силы
  • IX : компонента импульса силы DX задающуюся контактной силой
  • IY : компонента импульса силы DY задающуюся контактной силой
  • IZ : компонента импульса силы DZ задающуюся контактной силой
  • PT_X : координаты DX точки пересечения в формулировке XFEM
  • PT_Y : координаты DY точки пересечения в формулировке XFEM
  • PT_Z : координаты DZ точки пересечения в формулировке formulation XFEM
  • PROJ_X : координаты DX проекции подчиненного узла на сетку
  • PROJ_Y : координаты DY проекции подчиненного узла на сетку
  • PROJ_Z : координаты DZ проекции подчиненного узла на сетку

Он задается в табличной форме, следующим образом:

   MATABLE=POST_RELEVE_T( ACTION=_F(INTITULE='INFOS FROTTEMENT',
                          GROUP_NO='ESCLAVE',
                          RESULTAT=U,
                          INST=10.,
                          TOUT_CMP='OUI',
                          NOM_CHAM='VALE_CONT',
                          OPERATION='EXTRACTION',),);
  IMPR_TABLE(TABLE=MATABLE);

Следует отметить, что количество реакций контактного трения узловых сил (в единицах силы) задается конечными элементами, а не бесконтактным давлением. В осесимметричном моделирования, как для варианта FORC_NODA или REAC_NODA, мы должны умножить на 2π значения результирующей силы (см. (U4.81.02)).Узловые силы иногда не имеют смысла (они зависят от дисперсности сетки), только их равнодействующую можно интерпретировать.

В целом, для доступа к контактным давлением, существует два метода, зависимые от выбранной формулировки (см. (U2.04.04)):

  • Если в случае дискретной формулировки мы должны получить ограничения внутри конечных элементов (SIEF_ELGA) и их экстраполировать на поверхности в узлах (приближение SIEF_NOEU).
  • Если в случае формулировки continue, контактное давление и плотность воздействия трения доступны как неизвестные величины задачи (компоненты LAGS_C, LAGS_F1 и LAGS_F2 поля DEPL). Внимание, тангенциальная плотность отнесённого к единице поверхности воздействия получается, умножением нормы LAGS_F* на LAGS_C (см. (U2.04.04)).

Внимание: в формулировке XFEM, компонента CONT не храниться.

3.6 Формулировка LIAISON_UNIL

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

∑ αi(t)pi < r(x,y,z,t)

Где:

  • pi это значение степени свободы узла (перемещение, давление, температура и т.д....) (§ 3.6.1.3);
  • αi(t) это действующая функция времени (параметр INST) (§3.6.1.4);
  • r(x,y,z,t) это действующая функция времени или пространства (параметры X, Y, Z, INST) (§3.6.1.4)

Обратите внимание, что если параметр i отрицательный, то знак неравенства изменится.

3.6.1 Локальные параметры для формулировки LIAISON_UNIL

 ♦ ZONE =_F(paramètres locaux)

Ключевые слова в этом пункте действительны для формулировки LIAISON_UNIL. Параметры определяются в области действия.

3.6.1.1 Операнды MAILLE/GROUP_MA/NOEUD/GROUP_NO

 ♦ /GROUP_NO	=   l_grno	           [l_gr_noeud]	
    /NOEUD	=   l_noeud  		   [l_noeud]	
    /GROUP_MA	=   l_grma	      	   [l_gr_maille]	
    /MAILLE	=   l_maille	  	   [l_maille]

Одностороннее условие в узлах сетки, задано в ключевых словах GROUP_NO или NOEUD. Тем не менее, мы можем задать сетки с узлами с помощью ключевых слов MAILLE и GROUP_MA.

3.6.1.2 Операнды SANS_NOEUD/SANS_GROUP_NO

  ◊	SANS_GROUP_NO	=	l_sgrno		[l_gr_noeud]
   ◊	SANS_NOEUD	=	l_snoeud	[l_noeud]

Эти операнды позволяют исключить узлы одностороннего условия таким же образом, как и для формулировок CONTINUE ИЛИ DISCRETE (см. §3.1.3).

3.6.1.3 Операнд NOM_CMP

  ♦  NOM_CMP	=   l_cmp                [l_TXM]

Перечень компонентов p_i (степеней свободы), которые имеют односторонний связи. Они могут быть любой степени свободы, относящиеся к данному узлу. Например: PRE, PRE1, PRE2, TEMP или DX, DY и DZ.

  ♦	COEF_IMPO	=	l_c_impo		[fonction]
   ♦	COEF_MULT	=	l_c_mult		[l_fonction]

COEF_IMPO – значение r(t) наложено на правую часть односторонней связи. COEF_MULT - список коэффициентов множителя αi(t), используемый для каждой степени свободы. Длины списков COEF_MULT и NOM_CMP должны, разумеется, быть идентичны.

Коэффициенты r(t) и αi(t) - обязательные функции. Чтобы определять постоянные коэффициенты, необходимо использовать команду DEFI_CONSTANTE.

3.6.2 Пример

Мы хотим наложить условие 1.3*PRE1-5.2*PRE2 <4.0, тогда получаем:

   coef_i = DEFI_CONSTANTE(VALE=4.0) 
   coef_m1 = DEFI_CONSTANTE(VALE=1.3) 
   coef_m2 = DEFI_CONSTANTE(VALE=-5.2)

   NOM_CMP = (‘PRE1’,’PRE2’)
   COEF_IMPO = coef_i
   COEF_MULT = (coef_m1,coef_m2)