Keyword MASSIF ==== Affordable characteristics ---- Allows you to assign local axes to 3D or 2D elements (which can for example be used to define orthotropic directions (see DEFI_MATERIAU [U4.43.01], DEFI_COMPOR [U4.43.06]). In 3D, these local axes can be defined by the keywords: • ANGL_REP (3 nautical angles) • ORIG_AXE and ANGL_AXE (origin and axis of the cylindrical coordinate system) • ANGL_EULER (3 angles) In 2D, these local axes can be defined by: • ANGL_REP (only 1 nautical angle) • ORIG_AXE (origin of the cylindrical coordinate system) It is specified that: - ANGL_REP or ANGL_EULER is used for an orthotropic or isotropic transverse material with fixed axes. - ORIG_AXE and ANGL_AXE are used for a transverse orthotropic or isotropic material whose axes follow a cylindrical coordinate system and only in this case. - CHAM_ORIE allows you to give a field (a map in fact) with variable axes by elements precalculated in advance. Syntax ---- MASSIF = _F ( ♦/GROUP_MA = lgma, [l_gr_mesh] /TOUT = 'OUI', [only if keyword CHAM_ORIE] ♦/ANGL_REP = (:math:`\alpha`, :math:`\beta`, :math:`\gamma`), [l_real] /ANGL_EULER = (:math:`\Psi`, :math:`\theta`, :math:`\phi`), [l_real] /ORIG_AXE = (x1, x2, x3), [l_real] ◊ ANGL_AXE = (:math:`\alpha`, :math:`\beta`), [l_real] /CHAM_ORIE, [sd_cara_elem.carmassi] )))) Operand ANGL_REP ---- :math:`\alpha`, :math:`\beta`, :math:`\gamma` are the 3 nautical angles (as for the keyword ORIENTATION, cf. [§ :ref:`10 `]) defining the local axes :math:`(x,y,z)`, which correspond to the orthotropic coordinate system :math:`(N,L,T)`. In 2D, you only need to give :math:`\mathrm{\alpha }` what defines the :math:`(\text{LT})` coordinate system in the plane. Operand ANGL_EULER ---- Definition of the 3 Euler angles that make it possible to orient the coordinate system local to the element. The transition from the fixed frame of reference :math:`OXYZ` to the frame of reference linked to the solid :math:`\textcolor[rgb]{0,0,1}{O{x}_{3}{y}_{3}{z}_{3}}` is made by three successive rotations: +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ |Precession :math:`\textcolor[rgb]{1,0,0}{\Psi }`, around the :math:`OZ` axis, makes it possible to go from :math:`OXYZ` to the reference frame :math:`\textcolor[rgb]{1,0,0}{O{x}_{1}{y}_{1}{z}_{1}}`. | | + + .. image:: images/100002010000030C000002FFF8E30300B05A1F30.png + | The :math:`\textcolor[rgb]{0,.5,0}{\theta }` nutation, around the :math:`\textcolor[rgb]{1,0,0}{O{x}_{1}}` axis, makes you want to go from :math:`\textcolor[rgb]{1,0,0}{O{x}_{1}{y}_{1}{z}_{1}}` to :math:`\textcolor[rgb]{0,.5,0}{O{x}_{2}{y}_{2}{z}_{2}}`. | :width: 3.5429in | + + :height: 3.4807in + | The proper rotation :math:`\textcolor[rgb]{0,0,1}{\phi }`, around the axis :math:`\textcolor[rgb]{0,.5,0}{O{z}_{2}}`, makes it possible to go from :math:`\textcolor[rgb]{0,.5,0}{O{x}_{2}{y}_{2}{z}_{2}}` to the frame of reference linked to the solid :math:`\textcolor[rgb]{0,0,1}{O{x}_{3}{y}_{3}{z}_{3}}`. | | + + + | In 2D, you only need to give one rotation angle. | | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ |Precession :math:`\textcolor[rgb]{1,0,0}{\Psi }`, around the :math:`OZ` axis, makes it possible to go from :math:`OXYZ` to the reference frame :math:`\textcolor[rgb]{1,0,0}{O{x}_{1}{y}_{1}{z}_{1}}`. | | + + .. image:: images/100002010000030C000002FFF8E30300B05A1F30.png + | The :math:`\textcolor[rgb]{0,.5,0}{\theta }` nutation, around the :math:`\textcolor[rgb]{1,0,0}{O{x}_{1}}` axis, makes you want to go from :math:`\textcolor[rgb]{1,0,0}{O{x}_{1}{y}_{1}{z}_{1}}` to :math:`\textcolor[rgb]{0,.5,0}{O{x}_{2}{y}_{2}{z}_{2}}`. | :width: 3.5429in | + + :height: 3.4807in + | The proper rotation :math:`\textcolor[rgb]{0,0,1}{\phi }`, around the axis :math:`\textcolor[rgb]{0,.5,0}{O{z}_{2}}`, makes it possible to go from :math:`\textcolor[rgb]{0,.5,0}{O{x}_{2}{y}_{2}{z}_{2}}` to the frame of reference linked to the solid :math:`\textcolor[rgb]{0,0,1}{O{x}_{3}{y}_{3}{z}_{3}}`. | | + + + | In 2D, you only need to give one rotation angle. | | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ It's operand is not available in 2D. Operands ORIG_AXE/ANGL_AXE ---- These keywords should be given to define local axes for which a property of symmetry of revolution, or transverse isotropy will be used (for example: structure with orthotropic cylindrical symmetry). In 3D, ANGL_AXE = (:math:`\alpha`, :math:`\beta`) defines the axis of revolution :math:`\mathrm{x1}`, :math:`(\alpha ,\beta )` being the first two nautical angles, ORIG_AXE = (x1, x2, x3) defines a :math:`\mathrm{O1}` point on the axis. In 2D, the axis of revolution is necessarily oriented along Z. We therefore only enter the point on the XY plane through which the axis of revolution passes. ORIG_AXE = (x1, x2). .. image:: images/10000000000001BC000001A2B83B66DD699B992A.png :width: 2.7563in :height: 2.5984in .. _RefImage_10000000000001BC000001A2B83B66DD699B992A.png: Operand CHAM_ORIE ---- The CHAM_ORIE keyword makes it possible to define the orientations based on an orientation field whose support is the mesh. When entering this keyword, we expect a field (a map) of the quantity CAMA_Rqui has 7 components: a scalar (not important for the user), the 3 nautical angles and the 3 Euler angles. Note that this keyword was introduced to exploit orientation fields generated automatically from the mesh topology by a utility called "Local Frames Generator" available in the Salome platform (from version 9.11). This utility produces a MED file containing the mesh and the 7-component orientation field. The object expected as input to the CHAM_ORIE keyword is therefore this orientation field read from the file MED with a LIRE_CHAMP/TYPE_CHAM = CART_CAMA_R. An example of use is given in test case SSLV002. Note that if we use the CHAM_ORIE keyword, then we can only have one occurrence of the AFFE_CARA_ELEM/MASSIF keyword, and we must have the operand TOUT =' OUI '. The orientation field must support the complete mesh. Example of use ---- The aim is to model a cylinder made of an isotropic transverse elastic material of type ELAS_ISTR, in such a way that the orthotropy axis of the material is in the direction of the cylinder. The characteristics of such a material are to be defined in the local references of the elements, with the convention that the orthotropy axis must be carried by :math:`N` (cf. DEFI_MATERIAU [U4.43.01] [:ref:`§3.5 <§3.5>`]). We can imagine two scenarios: • the cylinder axis has been defined according to :math:`Z` in the global coordinate system. In this case, without rotating the local guides, by default we have :math:`(X,Y,Z)=(L,T,N)` and :math:`N`//:math:`Z` as we want. • the cylinder axis has been defined according to :math:`Y` in the global coordinate system. It is then necessary to rotate the local references in order to bring :math:`N` according to :math:`Y` as desired. We use AFFE_CARA_ELEM (MASSIF =_F (ANGLE_REP =( 0.,0., -90.),),) which produces the transformation :math:`(L,T,N)=(X,-Z,Y)`, and we then have :math:`N`//:math:`Y`. In two dimensions, ELAS_ORTH will be used because ELAS_ISTR is forbidden. If the anisotropy axis is not parallel to :math:`X` or :math:`Y`, the local coordinate system will be rotated as in the 3D example using the keyword ANGLE_REP (which this time contains only one angle) so as to bring :math:`L` or :math:`T` into the desired direction. .. _RefNumPara__21607_1524107836: