3. Command set description#
3.1. Assignment of modeling and spatial discretization#
In this part, we describe the choice and assignment of one of the two TUYAU models as well as the degrees of freedom and the associated meshes. Most of the information described is taken from the user documentation [U3.11.06]: Models TUYAU_3M and TUYAU_6M.
3.1.1. Degrees of freedom#
The degrees of freedom are, for each node of the support mesh:
the six displacement components of the average fiber (three translations and three rotations),
three degrees of freedom corresponding to modes 0 and 1,
for each Fourier mode, 6 degrees of freedom (\(U\) corresponds to warping, \(V\) and \(W\) to ovalization: \(V\) to orthoradial displacement, \(W\) to radial displacement, \(I\) means « in plane » and \(O\) means « out of plane »).
Item |
Degrees of freedom at each vertex node |
Remarks |
|||||
TUYAU_3M |
DX |
DY |
DZ |
Value of the translational displacement component imposed on the specified nodes |
|||
DRX |
DRY |
DRZ |
Value of the rotational displacement component imposed on the specified nodes |
||||
W0 |
WI1 |
WO1 |
Inflation degree of freedom and mode 1 on \(W\) |
||||
UI2 |
VI2 |
WI2 |
UO2 |
VO2 |
WO2 |
Degrees of freedom linked to mode 2 |
|
UI3 |
VI3 |
WI3 |
UO3 |
VO3 |
WO3 |
Degrees of freedom linked to mode 3 |
|
TUYAU_6M |
DX |
DY |
DZ |
Value of the imposed translational displacement component |
|||
DRX |
DRY |
DRZ |
Imposed value of the rotational displacement component |
||||
W0 |
WI1 |
WO1 |
Degrees of freedom of swelling and mode 1 on \(W\) |
||||
UI2 |
VI2 |
WI2 |
UO2 |
VO2 |
WO2 |
degrees of freedom linked to mode 2 |
|
UI3 |
VI3 |
WI3 |
UO3 |
VO3 |
WO3 |
degrees of freedom linked to mode 3 |
|
UI4 |
VI4 |
WI4 |
UO4 |
VO4 |
WO4 |
degrees of freedom linked to mode 4 |
|
UI5 |
VI5 |
WI5 |
UO5 |
VO5 |
WO5 |
degrees of freedom linked to mode 5 |
|
UI6 |
VI6 |
WI6 |
UO6 |
VO6 |
WO6 |
degrees of freedom linked to mode 6 |
3.1.2. Support mesh for stiffness matrices#
Finite element support meshes, in displacement formulation, are segments with 3 or 4 knots.
Modeling |
Mesh |
Finished Element |
Remarks |
TUYAU_3M |
|
|
Line mesh |
SEG4 |
|
Line mesh |
|
TUYAU_6M |
|
|
Line mesh |
Meshes SEG4, which have cubic shape functions, were developed to solve a simple bending beam problem. For this simple example, the exact solution is obtained using a single SEG4 mesh element.
For more complex problems, experience shows that you can mesh much coarser with SEG4 meshes. For example, fifteen SEG3 elements are needed to obtain a correct solution for a flexed elbow, while half of them are needed with SEG4 elements.
Note:
You can use the operator MODI_MAILLAGE to build meshes SEG4à from meshes SEG3.
3.1.3. Cargo support mesh#
All the loads applicable to the elements used are treated by direct discretization on the support mesh of the element in displacement formulation. Pressure and other linear forces as well as gravity are examples of loads that apply directly to the element. Therefore, no special loading mesh is necessary.
3.1.4. Model: AFFE_MODELE#
The modeling assignment is done through the operator AFFE_MODELE [U4.41.01]. It should be noted that only the mechanical phenomenon is available with element TUYAU.
AFFE_MODELE |
TUYAU_3M **** TUYAU_6M |
Remarks |
|
AFFE |
|||
PHENOMENE |
“MECANIQUE” |
||
MODELISATION |
“TUYAU_3M” |
||
MODELISATION |
“TUYAU_6M” |
In terms of the choice of modeling TUYAU, it can be noted that the use of a Fourier series decomposition at order 6 (element TUYAU_6M) improves the approximation of the behavior of the cross section in the presence of local modes, in the case where it deforms in a high mode, for example in the case of thin tubes where the ratio of thickness to radius of the cross section is \(<0.1\), and in the case of plasticity.
3.2. Basic characteristics: AFFE_CARA_ELEM#
In this part, the operands that are characteristic of the pipe element are described. The documentation for using the AFFE_CARA_ELEM operator is [U4.42.01].
The characteristics that can be assigned to elements TUYAU are:
SECTION: “CERCLE”
The section is defined by its external radius” R “and its thickness” EP “, on each mesh since the mesh is represented by the average fiber of the pipe.
TUYAU_NCOU: tncouch
This is the number of layers to be used for integrating nonlinear behavioral relationships into the thickness of straight pipe elements. In linear elasticity, one to two layers are sufficient, in non-linear it is recommended to put between 3 and 5 layers. The number of Gauss points is equal to twice the number of layers plus one \((2\times \mathrm{tncouch}+1)\), so the CPU time increases rapidly with the number of layers.
TUYAU_NSEC: tnsec
This is the number of angular sectors to use for integrating nonlinear behavioral relationships into the circumference of straight pipe elements. By default the number of sectors is 16. We recommend putting 32 sectors in non-linear mode for accurate results (watch out for the increase in time CPU with the number of sectors).
ORIENTATION (“GENE_TUYAU”)
A continuous line drawn on the pipe is defined from one of the end nodes of the pipe line. The operands PRECISION and CRITERE define the precision for constructing the generator and the limit between a straight pipe element and a curved element.
Note:
The direction vector of the line thus defined must not be collinear to the mean fiber from the elbow to the end node in question, using the keyword INFO =2we can check whether the defined vector is correct.
3.2.1. Operand MODI_METRIQUE#
The MODI_METRIQUE operand makes it possible to define for the elements TUYAU the type of integration in the thickness:
MODI_METRIQUE = “NON” leads to the assimilation of radius to mean radius in integrations. This is therefore valid for pipes of small thickness (relative to the radius),
MODI_METRIQUE = “OUI” implies a complete integration, more precise for thick pipes, but which can in some cases lead to oscillations in the solution.
3.2.2. Generator and the concept of local reference: keyword ORIENTATION#
The generator traced throughout the pipe makes it possible to define the origin of the angles \(\Phi\) [Figure]. This is used:
to interpret the degrees of freedom of ovalization;
Figure 3.2.2-a: Representation of two non-coplanar elbows connected by a straight pipe.
For an end cross section of the pipe line [Figure], the user defines in AFFE_CARA_ELEM under the keyword ORIENTATION a vector whose projection onto the end cross section defines a unit origin vector \({z}_{1}\).
The syntax is as follows:
AFFE_CARA_ELEM (…
ORIENTATION = _F (GROUP_NO = “EXTREMITE”,
CARA = “GENE_TUYAU”
VALE = (x, y, z)))
where: EXTREMITEest the center node of the end cross section.
\((x,y,z)\) contains the 3 components of the vector orienting the generator of the pipe, to be projected onto the transverse end section. This vector should be defined at a node or a group_no end of the pipe. The geometry is then built automatically for all the related elements in TUYAU.
The intersection between the direction of this vector and the mean area of the elbow determines the trace of the generatrix on this section. We call \({x}_{\mathrm{1,}}{y}_{\mathrm{1,}}{z}_{1}\) the direct trihedron associated with this section where \({x}_{1}\) is the unit vector perpendicular to the cross section. The intersection between the cross section and the line coming from the center of this section directed by \({z}_{k}\) is the trace of a generatrix shown below. For all the other transverse sections, the trihedron \({x}_{k},{y}_{k},{z}_{k}\) is obtained either by rotation of the trihedron \({x}_{k-1},{y}_{k-1},{z}_{k-1}\) in the case of the bent parts, or by translation of the trihedron \({x}_{k-1},{y}_{k-1},{z}_{k-1}\) for the straight parts of the pipe.
Figure 3.2.2-b: Representation of the reference generator.
The origin of \(\Phi\) common to all elements is defined in relation to the trace of this generator on the cross section. The angle between the generatrix trace and the current position on the cross section is identified by the angle \(\Phi\). The local coordinate system of the right and bent pipe is thus defined by the option ORIENTATION (“GENE_TUYAU”) of the AFFE_CARA_ELEM command, which makes it possible to define the first vector \({z}_{k}\) at one end.
Figure 3.2.2-c: Local coordinate system of the element \(\mathrm{XYZ}\) .
3.2.3. Example of characteristic assignment#
This example is a pipe with two bends (Hoovgaard problem from test SSLL101C).
pipe outer diameter: \(0.185m\)
pipe thickness: \(6.12m\)
radius of curvature of the elbows: \(0.922m\)
MODELE = AFFE_MODELE (MAILLAGE = MAILLAGE,
AFFE =_F (TOUT = “OUI”,
PHENOMENE = “MECANIQUE”,
MODELISATION = “TUYAU_3M”)
)
CARELEM = AFFE_CARA_ELEM (MODELE = MODELE,
POUTRE =_F (GROUP_MA = “TOUT_ELT”,
SECTION = “CERCLE”,
CARA = (“R”, “EP”,),
VALE = (0.0925, 0.00612,)),
ORIENTATION =_F (GROUP_NO = “C”,
CARA = “GENE_TUYAU”,
VALE = (1., 0., 0.,))
)
3.3. Materials: DEFI_MATERIAU#
The behavior of a material is defined using the operator DEFI_MATERIAU [U4.43.01]. There is no particular constraint due to the use of TUYAU elements.
The materials used with all the models can have elastic behaviors under plane stresses whose linear characteristics are constant or a function of temperature. Nonlinear behaviors under plane constraints are available for pipe models. For more information on these nonlinearities we can refer to [§ 2.6].
DEFI_MATERIAU |
TUYAU_3M |
TUYAU_6M |
Remarks |
||
ELAS, ELAS_FO, ECRO_LINE, TRACTION, … |
all materials available in C_ PLAN |
3.4. Loads and limit conditions: AFFE_CHAR_MECA and AFFE_CHAR_MECA_F#
It should be noted that it is not possible to perform thermal calculations, however the temperature assignment is possible, using the operator CREA_CHAMP. (see paragraph [§3.4.4]).
The assignment of loads and boundary conditions on a mechanical model is performed using the operator AFFE_CHAR_MECA, if the loads and mechanical boundary conditions on a system are real values that do not depend on any parameter, or AFFE_CHAR_MECA_F, if these values are a function of the position or the load increment.
The documentation for using AFFE_CHAR_MECA and AFFE_CHAR_MECA_F is [U4.44.01].
3.4.1. List of keywords that are factors of AFFE_CHAR_MECA and AFFE_CHAR_MECA_F#
The keywords factors available for these two operators are grouped together in the following two tables.
AFFE_CHAR_MECA |
TUYAU_3M **** TUYAU_6M ** |
Purpose, remarks, and examples |
DDL_IMPO |
Purpose: to impose, on nodes or groups of nodes, one or more displacement values Mode 0 (swelling) and: * modes 1 to 3 for TUYAU_3M * modes 1 to 6 for TUYAU_6M Exam: SDLL14, SSLL101, SSLX102, SSNL106,… |
|
LIAISON_DDL |
Purpose: to define a linear relationship between degrees of freedom of two or more nodes |
|
LIAISON_OBLIQUE |
Purpose: to apply, to nodes or groups of nodes, the same displacement value defined component by component in any oblique coordinate system |
|
LIAISON_GROUP |
Purpose: to define linear relationships between certain degrees of freedom of pairs of knots, these pairs of knots being obtained by putting two lists of meshes or knots facing each other |
|
LIAISON_UNIF |
Purpose: to impose the same (unknown) value on the degrees of freedom of a set of nodes Example: ELSA01B, ELSA01C, and ELSA01D |
|
LIAISON_SOLIDE |
Purpose: to model an undeformable part of a structure Example: ELSA01B, ELSA01C, and ELSA01D |
|
LIAISON_ELEM |
Purpose: to model the connections of a 3D solid part with a pipe part or a shell part with a pipe part Example: SSLX101B, SSLX102A, and SSLX102F |
|
LIAISON_CHAMNO |
Purpose: to define a linear relationship between all ddls present in a CHAM_NO concept |
|
PESANTEUR |
Purpose: apply a gravity effect Exam: SSLL101, SSLL106 |
|
FORCE_POUTRE |
Purpose: to apply linear forces, on beam-type elements Exam: SSLL106 |
|
FORCE_NODALE |
Purpose: to apply, to nodes or groups of nodes, nodal forces, defined component by component in the GLOBALou coordinate system in an oblique coordinate system defined by 3 nautical angles Exam: SSLL106,… |
|
FORCE_TUYAU |
Purpose: to apply internal pressure to pipe-like elements or groups of elements Exam: SSLL106, SSNL117, SSNL503 |
AFFE_CHAR_MECA_F |
TUYAU_3M **** TUYAU_6M ** |
Notes |
DDL_IMPO |
See above |
|
LIAISON_DDL |
See above |
|
LIAISON_OBLIQUE |
See above |
|
LIAISON_GROUP |
See above |
|
LIAISON_UNIF |
See above |
|
LIAISON_SOLIDE |
See above |
|
FORCE_POUTRE |
See above |
|
FORCE_NODALE |
See above |
|
FORCE_TUYAU |
See above |
3.4.2. Applying internal pressure: keyword FORCE_TUYAU#
This keyword factor can be used to apply internal pressure to pipe elements, defined by one or more cells or groups of cells. The pressure is applied at the level of the internal radius, as in 3D.
The syntax for applying this load is shown below:
AFFE_CHAR_MECA (…
/MAILLE = lma, [l_mesh] /GROUP_MA = lgma, [l_gr_mesh] ♦ PRES = p, [R] )
AFFE_CHAR_MECA_F (…
/MAILLE = lma, [l_mesh] /GROUP_MA = lgma, [l_gr_mesh] ♦ PRES = pf, [function] )
The operand available is:
PRES = p (pf)
Value of the imposed pressure (real or a function of time or geometry).
p is positive in the opposite direction to the normal of the element.
This load applies to the following mesh types and models:
Mesh |
Modeling |
SEG3, SEG4 SEG3 |
“TUYAU_3M” “TUYAU_6M” |
Examples of use are available in the test database: test cases ELSA01B, SSLL106A, SSNL117A and SSNL503A.
3.4.3. Applying distributed force: keyword FORCE_POUTRE#
This keyword factor can be used to apply line forces, constants as a function of x, to beam-type elements defined throughout the mesh or to one or more cells or groups of cells. The forces are defined component by component, either in the coordinate system GLOBAL, or in the local coordinate system of the element defined by the operator AFFE_CARA_ELEM [U4.42.01].
The syntax is available in the documentation for AFFE_CHAR_MECA/AFFE_CHAR_MECA_F [U4.44.01]. This loading applies to the following mesh types and models:
Mesh |
Modeling |
SEG3, SEG4 SEG3 |
TUYAU_6M |
An example of use is available in the test database: test case SSLL106.
3.4.4. Application of gravity: keyword PESANTEUR (AFFE_CHAR_MECA only)#
This keyword is used to apply the effect of gravity on pipes.
AFFE_CHAR_MECA |
TUYAU_3M **** TUYAU_6M |
Remarks |
|
PESANTEUR |
(g, ap, bp, cp) |
Acceleration and direction of gravity |
Example of using operand PESANTEUR:
POI_PROP = AFFE_CHAR_MECA (MODELE = MODELE,
PESANTEUR =_F (GRAVITE =9.81,
DIRECTION =( 0.,0., -1.),),
)
3.4.5. Hull-to-pipe, 3D-pipe and pipe-beam connections: keyword LIAISON_ELEM#
It involves establishing the connection between an end node of a pipe element and a group of edge meshes of shell elements or 3D elements. This makes it possible to mesh part of the pipe (for example an elbow) into shells or 3D elements and the rest into straight pipes. The formulation of the shell-pipe connection and the 3D-pipe connection is presented in the reference document [R3.08.06]. This connection makes it possible to transmit the mean warping and ovalization of the shell or 3D mesh to the corresponding degrees of freedom of the pipe.
The connection:
Pipe-shell: it allows you to connect edge elements (SEG2, SEG3) of the shell part to the node of the pipe to be connected. This connection is currently feasible for pipes whose neutral fiber is perpendicular to the normal facets of the plates or shells . The connection can be used using the keyword LIAISON_ELEM = _F (OPTION = “COQ_TUYAU”) of AFFE_CHAR_MECA.
3D-pipe: it allows you to connect edge elements (TRIA3, QUAD4, TRIA6,…) of the 3D part to the node of the pipe to be connected. The connector can be used using the keyword LIAISON_ELEM = _F (OPTION = “3D_ TUYAU “) from AFFE_CHAR_MECA.
Figure 3.4.5-a: Example of a connection between a mesh COQUE_3D and TUYAU.
The cases that test fittings are shown in the following table.
In all these test cases, the results are satisfactory considering that some of the differences observed are attributable to the fusion of the 3D mesh or shells.
Note: Pipe-beam connections.
It involves establishing a connection between an end node of a pipe element and an end node of a beam element. The pipe formulation includes beam-type kinematics identical to the kinematics of the girder elements. There is therefore no break between beam-type movements (3 movements and 3 rotations). The average fiber of the beam and the pipe are the same. By account, the kinematics of the beam elements does not include shell kinematics (the section is undeformable) as in the case of pipe elements, so there is a cut in the deformation of the transverse section.
There is no specific pipe-beam connection in Code_Aster; the connection between these two elements is ensured automatically, without user intervention, by the node common to the pipe element and the beam element. However, certain precautions must be taken, the transition between the pipe and beam elements must be sufficiently far from any « pipe » zones where the deformation of the cross section is significant, that is to say that it is necessary to connect only when the ovalization is damped.
To model T-joints, preference will be given to shell or 3D element models and, therefore, to the use of COQ_TUYAU or 3D_ TUYAU type fittings respectively. Regarding the shell/pipe connection, its application in straight sections will be preferred instead of curved sections (it is recommended to move the connections into regular, and therefore straight, areas).
3.4.6. Boundary conditions: keywords DDL_IMPO and LIAISON_ *#
The keyword factor DDL_IMPO makes it possible to impose, on nodes introduced by one (at least) of the keywords: TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA, one or more displacement values (or of certain associated quantities) to be imposed. Depending on the name of the operator called, the values are supplied directly (AFFE_CHAR_MECA) or through a function concept (AFFE_CHAR_MECA_F).
The operands available for DDL_IMPO are listed below:
DX DY DZ: Blocking on the movement component in**translation*
DRX DRY DRZ: Blocking on the**rotation* displacement component
If the specified nodes belong to “TUYAU_3M” elements (these elements have 15 degrees of shell freedom):
\(U\): warping |
\(V\), \(W\): ovalization |
\(I\): “in plane” |
\(O\): “out of plane” |
Either:
UI2 VI2 WI2 UO2 VO2 WO2: degrees of freedom linked to mode 2.
UI3 VI3 WI3 UO3 VO3 WO3: degrees of freedom linked to mode 3.
WO WI1 WO1: degrees of freedom of swelling and mode 1 on \(W\).
If the specified nodes belong to “TUYAU_6M” elements (these elements have 33 degrees of shell freedom), the following degrees of freedom are added:
UI4 VI4 WI4 UO4 VO4 WO4: degrees of freedom linked to mode 4.
UI5 VI5 WI5 UO5 VO5 WO5: degrees of freedom linked to mode 5.
UI6 VI6 WI6 UO6 VO6 WO6: degrees of freedom linked to mode 6.
3.5. Application of thermal expansion.#
No thermal calculation is available with modeling TUYAU, it is nevertheless possible to apply expansion (thermal loading), in the form of a temperature field at the nodes, defined by the 3 components TEMP, TEMP_INF, TEMP_SUP, from which the average temperature is deduced.
This field will have been previously created using the CREA_CHAMP operator (documentation [U4.72.04]).
CREA_CHAMP |
TUYAU_3M **** TUYAU_6M |
Remarks |
|
TYPE_CHAM |
“NOEU_TEMP_R” “NOEU_TEMP_F” |
Temperature result field |
|
OPERATION |
|||
MAILLAGE |
|||
MODELE |
|||
AFFE |
GROUP_MA MAILLE NOEUD GROUP_NO |
The field is created by assigning values to knots or meshes |
|
NOM_CMP |
“TEMP” |
The names of the components we want to affect: temperature |
|
“TEMP_INF” |
Indoor temperature |
||
“TEMP_SUP” |
Outside temperature |
The assignment of thermal expansion is carried out using the operator AFFE_MATERIAU (documentation [U4.43.03]).
AFFE_MATERIAU |
TUYAU_3M **** TUYAU_6M |
Remarks |
|
AFFE_VARC |
|||
NOM_VARC |
“TEMP” |
Command variable name |
|
NOM_CHAM |
“TEMP” |
||
EVOL |
tempe |
tempeis the field or evolution created by CREA_CHAMP and then possibly by CREA_RESU. |
|
VALE_REF |
reference temperature |
Note:
In the case where we want to apply a temperature defined by a function, we can use the operator CREA_RESU (TYPE_RESU =” EVOL_THER “,…), document [U4.44.12] to create a concept like EVOL_THER that can be used in AFFE_MATERIAU.
Examples of use are available in the test database: test cases ELSA01B, SSLL106A, SSNL117A and SSNL503A.
The following example is taken from test case SSLL101C.
TEMP = CREA_CHAMP (
MAILLAGE = MAILLAGE,
TYPE_CHAM = “ NOEU_TEMP_R “,
OPERATION = “ AFFE “,
AFFE =(
_F (TOUT = “ OUI “, NOM_CMP “, =) , VALE =**472.22**) , TEMP
),
)
TEMPER = CREA_RESU (
OPERATION =” AFFE “, TYPE_RESU =” EVOL_THER “,
NOM_CHAM =” TEMP “,
AFFE =_F (INST = 0.0, 0.0, CHAM_GD =**** TEMP) **
)
AFF_MAT1 = AFFE_MATERIAU (
MAILLAGE = MAILLAGE,
AFFE =_F (TOUT = “ OUI “, MATER = MATER)) ,
AFFE_VARC =_F (TOUT = “ OUI “, EVOL “, = TEMPER, NOM_VARC = “ TEMP “,
NOM_CHAM = “ TEMP “, VALE_REF = 0.0 ),
)