3. 3D-Beam connection in the Harlequin frame#
The Arlequin frame (option 3D_ POU_ARLEQUIN from the LIAISON_ELEM keyword of operator AFFE_CHAR_MECA) is a flexible method for joining 1D and 3D models with an overlay [bib2]. It therefore also makes it possible to save considerably in calculation time for an accuracy equivalent to an entire 3D model.
3.1. Main ingredients Harlequin#
The Harlequin method is based on the following principles:
The connection of the sub-domains through a weak formulation: the introduction of Lagrange multipliers into the bonding zone guarantees the coupling of the models, the continuity of the kinematic quantities, as well as the control of differences in stresses and deformations between the coupled zones;
The distribution of energy between domains and models: in order not to count twice the energy of the global system in the overlap zone, the virtual works associated with the two models are distributed between the sub-domains coupled across the bonding zone through the bonding zone through weighting functions \((\gamma \mathrm{,1}\mathrm{-}\gamma )\) which form a partition of the unit (the sum of the two functions is equal to 1) over the entire field of study.
Weighting makes it possible to avoid taking energy into account several times in the same zone and thus allows the user a certain freedom to choose the predominant model. Indeed, it allows you to put weight on the model you want to express.
The coupling matrices obtained are transformed into kinematic relationships. This connection therefore results in linear relationships linking the movements of the set of 3D nodes (3 degrees of freedom per node) linked with all the beam nodes (6 degrees of freedom per node).
3.2. Example of implementation#
It should be noted that the 3D-Harlequin Beam connection, as developed today in Code_Aster, must meet a very important requirement. Indeed, the 1D and 3D meshes must be « hierarchically compatible », in the sense that all the 3D elements are included in the cylindrical space of the 1D element facing each other (no 3D elements straddling two beam elements).
The mesh associated with the 1D-3D mixed model is read by LIRE_MAILLAGE:
MAIL = LIRE_MAILLAGE (UNITE =20,);
The reading of 1D and 3D meshes can also be done separately. Then, the two meshes are assembled using the ASSE_MAILLAGE operator.
Then, the structural and volume elements are assigned to the model:
MODELE = AFFE_MODELE (MAILLAGE = MAIL,
AFFE =( _F (GROUP_MA =( “Ref3D”),
PHENOMENE =” MECANIQUE “,
MODELISATION =”3D”,),
_F (GROUP_MA =( “Beam”),
PHENOMENE =” MECANIQUE “,
MODELISATION =” POU_D_T “,),),);
The geometric characteristics of the beam elements are also affected:
CAREL3D = AFFE_CARA_ELEM (MODELE = MODELE,
POUTRE =_F (GROUP_MA =( “Beam”),
SECTION =” CERCLE “,
CARA =”R”,
VALE =0.005,),);
The management of weights in the free and Harlequin collage areas is left to the user. As this is an L2 coupling, it is sufficient to impose the weighting coefficients in the definition of the material parameters (density RHOet Young’s module E) relating to the various areas of the overlap.
# Material used in areas outside of the covering
MATL = DEFI_MATERIAU (ELAS =_F (E=2.E11* 1.0,
NU=0.3,
RHO =7800.0* 1.0,),);
# Material used in the bonding area included in the cover
MATC = DEFI_MATERIAU (ELAS =_F (E=2.E11* 0.5,
NU=0.3,
RHO =7800.0* 0.5,),);
# Material used in the 3D free area included in the cover
MATR3D = DEFI_MATERIAU (ELAS =_F (E=2.E11* 0.99,
NU=0.3,
RHO =7800.0* 0.99,),);
# Material used in the 1D free zone included in the cover
MATR1D = DEFI_MATERIAU (ELAS =_F (E=2.E11* 0.01,
NU=0.3,
RHO =7800.0* 0.01,),);
Outside the overlap zone, the materials are given by the user as he wishes (material MATL for the GROUP_MA =”Beam”). For the overlap zone, the division of the unit is ensured by assigning materials that are already weighted to the predefined mesh groups. In the present case, the models are weighted (weight = 50%) in the same way in the gluing zone (material MATC for GROUP_MA =( “1 DCol “, “3 DCol”)). In the free zone (in the free sense of the Harlequin connection conditions), we chose to put the weight at 99% on the volume model (material MATR3D for the GROUP_MA =”3 DLib “) and at 1% on the Beam model (material MATR1D for the GROUP_MA =”1 DLib”).
CHMAT = AFFE_MATERIAU (MAILLAGE = MAIL,
AFFE =( _F (GROUP_MA =”Beam”,
MATER = MATL,),
_F (GROUP_MA =”1 DLib “,
MATER = MATR1D,),
_F (GROUP_MA =”1 DCol “,
MATER = MATC,),
_F (GROUP_MA =”3 DLib “,
MATER = MATR3D,),
_F (GROUP_MA =”3 DCol “,
MATER = MATC,),
),);
The Harlequin connection condition is then specified under the 3D_ POU_ARLEQUIN option of the LIAISON_ELEM keyword of the AFFE_CHAR_MECA operator. For each occurrence of the Arlequin connection, the user must define the following operands:
The group of elements in the 3D area to be glued (keyword GROUP_MA_1)
The 1D group of elements in the collage area (keyword GROUP_MA_2)
The CHAM_MATER concept defining materials (used to ensure the partition of the unit)
Concept CARA_ELEM defining the geometric characteristics used to calculate coupling matrices
ARLE = AFFE_CHAR_MECA (MODELE = MODELE,
LIAISON_ELEM =( _F (OPTION =” 3D_ POU_ARLEQUIN “,
GROUP_MA_1 =”3 DCol “,
GROUP_MA_2 =”1 DCol “,
CHAM_MATER = CHMAT,
CARA_ELEM = CAREL3D,),
),);
For a modal or dynamic calculation on a modal basis, the mass and stiffness matrices can be assembled with, among other things, the load resulting from the coupling in the Arlequin framework.
ASSEMBLAGE (MODELE = MODELE,
CHAM_MATER = CHMAT,
CARA_ELEM = CAREL3D,
CHARGE =( CondLim, ARLE),
NUME_DDL =CO (“NUMEDDL”),
MATR_ASSE =( _F (MATRICE =CO (“RIGIDITE”),
OPTION =” RIGI_MECA “,),
_F (MATRICE =CO (“MASSE”),
OPTION =” MASS_MECA “,),
),);
An example of a calculation in transient linear dynamics in the presence on the basis of a mixed 1D-3D model connected in the Arlequin framework is given below (cf. test cases SSLV156 and SSLV160):
refM3d= DYNA_LINE_TRAN (MODELE = MODELE,
CHAM_MATER = CHMAT,
CARA_ELEM = CAREL3D,
MATR_MASS = MASSE,
MATR_RIGI = RIGIDITE,
SCHEMA_TEMPS =_F (SCHEMA =” NEWMARK “,
GAMMA =0.5+alpha,
BETA =( 1+alpha) **2/4,),
EXCIT =( _F (CHARGE =CondLim,),
_F (CHARGE = ARLE,),
_F (CHARGE =Charge,
FONC_MULT = FSIN),),
INCREMENT =_F (LIST_INST = LIST3D,),);