background image
Code_Aster
®
Version
6.1
Titrate:
Definition of initial fields for
STAT_NON_LINE
Date
:
30/11/01
Author (S):
J. PELLET
Key
:
U2.01.09-A
Page
:
1/6
Instruction manual
U2.01 booklet:
HI-75/01/006/A
Organization (S):
EDF/MTI/MN














Instruction manual
U2.01 booklet:
Document: U2.01.09



Analytical definition of a stress field
and of a field of internal variables initial




Summary:

It is explained how to manufacture two of the fields constituting the initial state of a non-linear calculation
(
STAT_NON_LINE
): the stress field and the field of internal variables.
·
the components of the stress field must have an “analytical” form (for example: state
of a ground subjected to the “weight of the grounds”),
·
the components of the field of variables intern are nonnull constants.

In both cases, the solution consists in connecting a certain number of controls
CREA_CHAMP
.

For the stress field, the difficulty consists in evaluating the “analytical formulas” (
OPERATION=' EVAL'
).
For the field of internal variables, the difficulty comes owing to the fact that the size associated with the internal variables
(
VARI_R
) has a number a priori unspecified of components
: “V1”, “V2”
,…

The solutions suggested are implemented in the test
ZZZZ130A
.
background image
Code_Aster
®
Version
6.1
Titrate:
Definition of initial fields for
STAT_NON_LINE
Date
:
30/11/01
Author (S):
J. PELLET
Key
:
U2.01.09-A
Page
:
2/6
Instruction manual
U2.01 booklet:
HI-75/01/006/A
1
Definition of the analytical stress field
It is supposed that the model contains finite elements of continuous medium (
MODELISATION=' 3d'
).
It is wanted that in each point of Gauss, the components of the stresses have the expressions
following:
SIZZ = RHO * G * Z
SIXX = SIYY = KP * SIZZ
where:
RHO
: density
G
: acceleration of gravity
Z
: 3rd co-ordinate of space
KP
: coefficient of “pushed” of the grounds
The solution suggested consists with:
1) to define three functions “formulas” corresponding to
SIXX
,
SIYY
and
SIZZ
,
2) to constitute a field whose components are the preceding functions,
3) to evaluate the formulas of the field by providing him the field of geometry necessary to their
evaluation.
1.1
Stage 1: to define the formulas
RHO=1000.
G=10.
KP=3.

SIZZ = FORMULA (REEL= """ (REAL:Z) = RHO * G * Z """)
SIXX = FORMULA (REEL= """ (REAL:Z) = KP * SIZZ (Z) """)
SIYY = FORMULA (REEL= """ (REAL:Z) = KP * SIZZ (Z) """)
1.2
Stage 2: to create the field of formulas
SIG1
SIG1=CREA_CHAMP (OPERATION=' AFFE', TYPE_CHAM=' ELGA_NEUT_F',
MODELE=MO, PROL_ZERO=' OUI',
AFFE=_F (ALL = “YES”, NOM_CMP = (“X1”, “X2”, “X3”,),
VALE_F = (SIXX, SIYY, SIZZ,)))
Remarks
·
the field
SIG1
that one creates is one
cham_elem
at the points of Gauss (
ELGA
),
·
the only fields being able to have components of the type “functions” are the fields of
size
NEUT_F
. It will thus have to be remembered that the CMP
“X1”
of
SIG1
is actually
“SIXX”
, etc…,
·
the key word
PROL_ZERO=' OUI'
is obligatory bus for all the types of element, them
cham_elem_NEUT_R
currently 6 components have:
“X1”
,
“X2”
,…,
“X6”
. It is necessary
thus to agree “to prolong” by zero the field out of the 3 nonaffected components.
prolongation by “zero” for a field whose components are texts (names of
functions) consists in assigning the channel ““to each component absent from the field.
Attention thus, it is not a question of a null function. One can note it while using
INFO=2
to print the field
SIG1
.
background image
Code_Aster
®
Version
6.1
Titrate:
Definition of initial fields for
STAT_NON_LINE
Date
:
30/11/01
Author (S):
J. PELLET
Key
:
U2.01.09-A
Page
:
3/6
Instruction manual
U2.01 booklet:
HI-75/01/006/A
1.3
Stage 3: to evaluate the formulas of the field
SIG1
The field
SIG1
is a field known at the points of Gauss of the elements of the model. In each point,
one will want to evaluate the functions
SIXX
,
SIYY
and
SIZZ
. For that, it is necessary to have the values of
all variables appearing in the functions (here
Z
). These variables must be known on
same points as the field of functions. It is thus necessary to have a field containing the geometry of
points of Gauss (
cham_elem_GEOM_R
/
ELGA
).
This field of geometry of the points of Gauss (
CHXG
) is obtained starting from the mesh (
MA
) by the 2
following controls:
CHXN=CREA_CHAMP (OPERATION=' EXTR', TYPE_CHAM=' NOEU_GEOM_R',
NOM_CHAM=' GEOMETRIE', MAILLAGE=MA)

CHXG=CREA_CHAMP (OPERATION=' DISC', TYPE_CHAM=' ELGA_GEOM_R',
MODELE=MO, CHAM_GD=CHXN
The first control extracts the field from geometry (with the nodes) of the mesh. The second
transform the field of geometry to the nodes into a field of geometry at the points of Gauss in
using the functions of form of the finite elements of the model.
One can then evaluate the functions thanks to the operator
CREA_CHAMP
/
OPERATION=' EVAL'
:
SIG2=CREA_CHAMP (OPERATION=' EVAL', TYPE_CHAM=' ELGA_NEUT_R',
MODELE=MO, CHAM_F=SIG1, CHAM_PARA= (CHXG,))
The field (
SIG2
) obtained by evaluation of a field of the size
NEUT_F
is a field of
size
NEUT_R
whose components have the same names as the components of
NEUT_F
:
“X1”
,
“X2”
,…,
“X6”
.
Caution:
Components
“X4”
,
“X5”
,
“X6”
(actually they are indefinite contain reality it
larger possible), because they correspond to a non-existent function.
It still remains to change the size of the field
SIG2
(NEUT_R - > SIEF_R
) to finish
manufacture of our analytical stress field:
SIGINI=CREA_CHAMP (OPERATION=' ASSE', TYPE_CHAM=' ELGA_SIEF_R',
MODELE=MO, PROL_ZERO=' OUI',
ASSE=_F (ALL = “YES”, CHAM_GD = SIG2,
NOM_CMP = (“X1”, “X2”, “X3”,),
NOM_CMP_RESU = (“SIXX”, “SIYY”, “SIZZ”,)))
Note:
·
only components
“X1”
,
“X2”
and
“X3”
field
SIG2
are recopied in this
operation to give the components
“SIXX”
,
“SIYY”
,
“SIZZ”
field
SIGINI
.
This stress field must also contain the components related to
shearings (
“SIXY”
,
“SIYZ”
,
“SIXZ”
). To obtain them (with a zero value), it is necessary
to use the prolongation by zero (
PROL_ZERO=' OUI'
),
·
handling made to obtain the null components of shearing, would have been
simpler if there were explicitly affected on these 3 components a null function.
One would not have had “to play” with the prolongations. But one would have profited from
coincidence that sizes
SIEF_R
and
NEUT_R
all the two 6 components have
for
cham_elem
(
ELGA
) on the elements of the model.
background image
Code_Aster
®
Version
6.1
Titrate:
Definition of initial fields for
STAT_NON_LINE
Date
:
30/11/01
Author (S):
J. PELLET
Key
:
U2.01.09-A
Page
:
4/6
Instruction manual
U2.01 booklet:
HI-75/01/006/A
2
Definition of the field of variables intern not no one
2.1 Problem
One wants to create a field of initial internal variables for the control
STAT_NON_LINE
. This field
does not have to be null everywhere. More precisely, one wants:
STAT_NON_LINE:
COMP_INCR= (_F (GROUP_MA=' MASSIF', RELATION = “CJS”),
_F (GROUP_MA=' BETON', RELATION = “ENDO_LOCAL”),),
for the relation of behavior
“CJS”
(16 variables intern), one wants to affect:
V1 = 1.0 and V9 = 9.0
for the relation of behavior
“ENDO_LOCAL”
(2 variables intern), one wants to affect:
V2 = 2.0
2.2 1ère
method
The operator to be used is
CREA_CHAMP/OPERATION=' AFFE'
. It makes it possible to affect (by mesh or
GROUP_MA
) the values which one wishes. The difficulty comes owing to the fact that the size associated with
variables intern (
VARI_R
) is different from the different one: one does not know a priori which are its
components. Moreover the name of its components translates this ignorance:
“V1”
,
“V2”
,…
According to the behavior which the user will choose in
STAT_NON_LINE
, the number of variables
interns changes. In our example, the behavior
“CJS”
require 16 variables whereas
“ENDO_LOCAL”
uses only 2 of them.
The operation of assignment is thus done in two stages: one creates initially one
CARD
of
NEUT_R
(
VAIN1
)
with ALL the components wanted including the null components:
VAIN1=CREA_CHAMP (OPERATION=' AFFE', TYPE_CHAM=' CART_NEUT_R',
MODELE=MO,
AFFE= (
_F (GROUP_MA= “CONCRETE”, NOM_CMP= (“X1”, “X2”,), VALE = (0., 2.,)),
_F (GROUP_MA= “MASSIVE”,
NOM_CMP= (“X1”, “X2”, “X3”, “X4”, “X5”, “X6”, “X7”, “X8”, “X9”, “X10”,
“X11”, “X12”, “X13”, “X14”, “X15”, “X16”,),

VALE = (1., 0., 0., 0., 0., 0., 0., 0., 9., 0., 0., 0., 0., 0., 0., 0.,)),
)
)
One transforms then
carte_ NEUT_R
in
cham_elem_VARI_R
(
VAIN11
):
VAIN11=CREA_CHAMP (OPERATION=' ASSE', TYPE_CHAM=' ELGA_VARI_R', MODELE=MO,
ASSE= (
_F (CHAM_GD = VAIN1, GROUP_MA= “CONCRETE”,
NOM_CMP= (“X1”, “X2”,),
NOM_CMP_RESU= (“V1”, “V2”,),),
_F (CHAM_GD = VAIN1, “MASSIVE” GROUP_MA=,
NOM_CMP= (“X1”, “X2”, “X3”, “X4”, “X5”, “X6”, “X7”,
“X8”, “X9”, “X10”, “X11”, “X12”, “X13”,
“X14”, “X15”, “X16”,),
NOM_CMP_RESU= (“V1”, “V2”, “V3”, “V4”, “V5”, “V6”,
“V7”, “V8”, “V9”, “V10”, “V11”, “V12”,
“V13”, “V14”, “V15”, “V16”,),),
)
)
)
background image
Code_Aster
®
Version
6.1
Titrate:
Definition of initial fields for
STAT_NON_LINE
Date
:
30/11/01
Author (S):
J. PELLET
Key
:
U2.01.09-A
Page
:
5/6
Instruction manual
U2.01 booklet:
HI-75/01/006/A
Note:
It is very important for non-linear calculation to come that the field of variables intern is
coherent with the behaviors which one will choose. Here, it is necessary that the meshs of the group
“CONCRETE”
2 internal variables (and only 2) and those of the group have
“MASSIVE”
in have
16.
Caution:
If the model comprises other types of behavior (for which one does not wish
to initialize the field with nonnull values), it is also necessary to explicitly affect to them
zero values. This disadvantage (of having to know ALL the behaviors used and
their number of variables intern) can be raised with the 2nd method below (but
it is more intricate).
2.3 2nd
method
This method (more intricate) makes it possible to affect explicitly only the meshs which have
nonnull components.
The problem is to obtain a field containing the good number of internal variables for each mesh
according to the behavior which will be affected for him in STAT_NON_LINE. To solve this problem,
one will carry out a non-linear calculation “can” (with the real behaviors). The field of variables
interns produced will be then a “model” good of field.
One will thus make:
1) non-linear calculation can =>
UBID
2) extraction of the field of variables intern (
VBID
) of the result
UBID
3) assignment of the nonnull values in the field
VAIN2
4) put at zero of
VBID
+ overload of the values of
VAIN2
to produce the result
VAIN22
2.3.1 non-linear calculation can
BETON=DEFI_MATERIAU (ELAS=_F (E = 20000., NAKED = 0.),
ECRO_LINE=_F (SY = 6., D_SIGM_EPSI = - 10000.) )

MASSIF=DEFI_MATERIAU (ELAS=_F (E = 35.E3, NAKED = 0.15),
CJS=_F (BETA_CJS = - 0.55, GAMMA_CJS = 0.82, AP = - 100.0,
RM = 0.289, N_CJS = 0.6, KP = 25.5E3, RC = 0.265, A_CJS =
0.25,))

CHMAT=AFFE_MATERIAU (MAILLAGE=MA, AFFE= (
_F (GROUP_MA = “MASSIVE”, MATER = MASSIVE),
_F (GROUP_MA = “CONCRETE”, MATER = CONCRETE),))

TEMPS1=DEFI_LIST_REEL (VALE= (0., 1.) )
CHAR_U1=AFFE_CHAR_MECA (MODELE=MO,
DDL_IMPO=_F (NODE = (“N1”, “N2”, “N3”,), DX=0., DY=0., DZ=0.))

UBID=STAT_NON_LINE (MODELE=MO, CHAM_MATER=CHMAT,
EXCIT= _F (LOAD = CHAR_U1,),
COMP_INCR= (_F (GROUP_MA=' MASSIF', RELATION = “CJS”),
_F (GROUP_MA=' BETON', RELATION = “ENDO_LOCAL”),),
NEWTON=_F (MATRIX = “ELASTIC”),
CONVERGENCE=_F (STOP = “NOT”, # to continue without convergence
ITER_GLOB_MAXI = 1, ITER_INTE_MAXI = 1),
INCREMENT=_F (LIST_INST = TEMPS1),
)
background image
Code_Aster
®
Version
6.1
Titrate:
Definition of initial fields for
STAT_NON_LINE
Date
:
30/11/01
Author (S):
J. PELLET
Key
:
U2.01.09-A
Page
:
6/6
Instruction manual
U2.01 booklet:
HI-75/01/006/A
2.3.2 Recovery of the field of variables intern “model”
VABID=CREA_CHAMP (OPERATION=' EXTR', TYPE_CHAM=' ELGA_VARI_R', INFO=1,
NOM_CHAM=' VARI_ELGA', RESULTAT=UBID, NUME_ORDRE=1,)
Note:
VABID
is not null.

2.3.3 Assignment of the nonnull values in one
cham_elem_NEUT_R
VAIN2=CREA_CHAMP (OPERATION=' AFFE', TYPE_CHAM=' CART_NEUT_R', MODELE=MO,
AFFE= (
_F (GROUP_MA= “CONCRETE”, NOM_CMP= (“X2”,), VALE = (2.,)),
_F (GROUP_MA= “MASSIVE”, NOM_CMP= (“X1”, “X9”,), VALE = (1., 9.,)),
)
)

2.3.4 Resetting of the field of variables intern “model” and overload of the values
nonnull
VAIN22=CREA_CHAMP (OPERATION=' ASSE', TYPE_CHAM=' ELGA_VARI_R', MODELE=MO,
# put at zero:
ASSE= (_F (TOUT= = “YES”, CHAM_GD = VABID, CUMUL=' OUI', COEF_R=0.),
# overloads nonnull values:
_F (GROUP_MA= “CONCRETE”, CHAM_GD = VAIN2, CUMUL=' OUI', COEF_R=1.,
NOM_CMP= (“X2”,), NOM_CMP_RESU= (“V2”,),),
_F (GROUP_MA= “MASSIVE”, CHAM_GD = VAIN2, CUMUL=' OUI', COEF_R=1.,
NOM_CMP= (“X1”, “X3”), NOM_CMP_RESU= (“V1”, “V9”,),),
)
)
Notice;
For the resetting and overloads it nonnull values, one uses the key words
CUMUL=' OUI'
and
COEF_R
.