background image
Code_Aster
®
Version
7.4
Titrate:
Macro control
MACRO_MATR_ASSE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.61.21-E
Page
:
1/6
Instruction manual
U4.6- booklet: Elementary matrices/Vectors and assembly
HT-66/05/004/A
Organization (S):
EDF-R & D/AMA














Instruction manual
U4.6- booklet: Elementary matrices/Vectors and assembly
Document: U4.61.21



Macro control
MACRO_MATR_ASSE





1 Goal
To calculate one or more assembled matrices (rigidity, mass, damping,…).
This control is recommended to create them
matr_asse
necessary to dynamic calculations.
It avoids tiresome calls to the “basic” controls:
CALC_MATR_ELEM
[U4.41.01],
NUME_DDL
[U4.61.01],
ASSE_MATRICE
[U4.61.22].
Product one or more structure of data of the matr_asse_ type * more, possibly, one
structure of data of the nume_ddl type.
background image
Code_Aster
®
Version
7.4
Titrate:
Macro control
MACRO_MATR_ASSE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.61.21-E
Page
:
2/6
Instruction manual
U4.6- booklet: Elementary matrices/Vectors and assembly
HT-66/05/004/A
2 Syntax
MACRO_MATR_ASSE
(
MODEL
=
Mo
,
[model]
CHAM_MATER =
chmater,
[cham_mater]
CARA_ELEM
=
carac
,
[cara_elem]
CHARGE
=
l_char
,
/
[l_char_meca]
/
[l_char_ther]
/
[l_char_acou]
INST =/tps
,
[R]
/
0.
,
[DEFECT]
NUME_DDL
=
naked
,
[nume_ddl]
SOLVEUR = _F
(
… to see [U4.50.01]
)
MATR_ASSE
=
(_F (
STAMP =
subdued
,
[matr_asse_ *]
OPTION
=
#
phenomenon
mechanics
:
/
“RIGI_MECA”
,
MODE_FOURIER
=/nh
, [I]
/
0
,
[DEFECT]
/
“RIGI_GEOM”
,
SIEF_ELGA
=
sig
, [cham_elem_SIEF_R]
MODE_FOURIER
=/nh
, [I]
/
0
,
[DEFECT]
/
“RIGI_ROTA”
,
/
“IMPE_MECA”
,
/
“ONDE_FLUI”
,
/
“RIGI_MECA_HYST”
,
/
“RIGI_FLUI_STRU”
,
/
“AMOR_MECA”
,
/
“MASS_FLUI_STRU”
,
/
“RIGI_MECA_LAGR”
,
PROPAGATION
=
,
[R]
THETA =
ch_theta, [theta_geom]
/
“MASS_MECA”
,
/
“MASS_MECA_DIAG”
,
/
“MASS_ID_MDEP_R”
,
/
“MASS_ID_MDNS_R”
,
#
phenomenon
thermics
:
/
“RIGI_THER”
,
MODE_FOURIER
=/nh
, [I]
/
0
,
[DEFECT]
/
“MASS_THER”
,
/
“RIGI_THER_CONV”
,
/
“RIGI_THER_CONV_D'
,
/
“MASS_ID_MTEM_R”
,
/
“MASS_ID_MTNS_R”
,
#
phenomenon
accoustics
:
/
“RIGI_ACOU”
,
/
“MASS_ACOU”
,
/
“AMOR_ACOU”
,
),),
TITRATE
=
titr,
[l_Kn]
)
background image
Code_Aster
®
Version
7.4
Titrate:
Macro control
MACRO_MATR_ASSE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.61.21-E
Page
:
3/6
Instruction manual
U4.6- booklet: Elementary matrices/Vectors and assembly
HT-66/05/004/A
3 Operands
3.1
Concepts created by the macro-control
This macro-control creates several typified concepts:
·
one
matr_asse_ *
with each occurrence of the key word factor
MATR_ASSE
(key word
STAMP
),
·
possibly one
nume_ddl
(key word
NUME_DDL
) if the aforementioned does not exist as a preliminary.
That is to say for example the sequence:
# naked
is not a still existing concept.
MACRO_MATR_ASSE (MODEL = Mo…,
NUME_DDL
=
Co (
naked
),
MATR_ASSE
=
(
_F (
MATRICE=
Co (
K
“)
,
OPTION=' RIGI_MECA'))
MACRO_MATR_ASSE (MODEL = Mo…,
NUME_DDL
=
naked,
MATR_ASSE
=
(
_F (MATRICE=co (
M
“)
, OPTION=' MASS_MECA'),
_F (MATRICE=co (
With
“)
, OPTION=' AMOR_MECA'),),)
the 1
er
call to
MACRO_MATR_ASSE
create
1
MATR_ASSE: K
1
NUME_DDL: naked
2
ème
call to
MACRO_MATR_ASSE
create
2
MATR_ASSE: M
and
With
Note:
At the time from the 2
ème
call, the concept
nume_ddl
(it is provided exists, it was created by the 1
er
call).
In this case, it is supposed to be appropriate for the 2
matr_asse
to create; it is thus important that it
nume_ddl
that is to say initially calculated for an option of the type “
RIGIDITY
“to contain the nodes
of Lagrange of the loads of blockings (cf CALC_MATR_ELEM [U4.61.01]).
In the preceding example, the 3
matr_asse
K
,
M
and
With
are based on same classification
unknown factors (
naked
). It is a condition necessary for the algorithms of search for
clean modes.
3.2 Operands
MODEL
/
CHAM_MATER
/
CARA_ELEM
MODEL = Mo
This operand is used to indicate the elements for which calculations must be carried out
elementary: it is reminded the meeting that the finite elements for the majority are defined in the model.
There are some exceptions:
1) Elements of dualisation of the conditions of DIRICHLET, i.e. elements
allowing to impose conditions on the degrees of freedom of displacement in
mechanics, degrees of freedom of temperature in thermics and degrees of freedom of
pressure in accoustics.
2) Nodal heat exchange, useful loads between walls,…
These elements are defined in the concepts of the type
char_meca
,
char_ther
or
char_acou
.
One must thus provide the argument
l_char
for the calculation of the assembled matrices of rigidity:
RIGI_MECA
,
RIGI_THER
,
RIGI_ACOU
,
RIGI_MECA_HYST
,
RIGI_THER_CONV (_D)
and
RIGI_MECA_LAGR
.
background image
Code_Aster
®
Version
7.4
Titrate:
Macro control
MACRO_MATR_ASSE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.61.21-E
Page
:
4/6
Instruction manual
U4.6- booklet: Elementary matrices/Vectors and assembly
HT-66/05/004/A
CHAM_MATER = chmater
Name of the material field where the characteristics of materials of the elements are defined.
This argument is almost always necessary.
In practice, one can do some:
·
for the discrete elements whose elementary matrices are defined in the concept
cara_elem
. See
AFFE_CARA_ELEM
[U4.42.01],
·
for the calculation of rigidities due to the dualisation of the boundary conditions.
CARA_ELEM = carac
Elementary characteristics
carac
are necessary if there exists in the model of
elements of structure (discrete beam, hull or elements) or of the elements of continuous medium
nonisotropic.
3.3 Operands
CHARGE
and
INST
CHARGE = lchar
This operand has several distinct functions:
1) to specify the elements for which elementary calculations of rigidity are made
(conditions of DIRICHLET),
2) for the options of thermomechanical, to specify a possible field of temperature
when the material is a function of the temperature (cf key word
INST
). In this case,
to pay attention so that there are not several different temperatures in the argument
lchar
, the temperature used is then the first found in the list of the loads
(cf.
AFFE_CHAR_MECA_…
, operand
TEMP_CALCULEE
[U4.44.01 §3.3]),
3) for the options
“RIGI_THER_CONV (_D)”
: to give the value the speed of
convection,
4) for
the option
“IMPE_MECA”
: to give the value of the acoustic impedance of the meshs of
edge,
5) for
the option
“ONDE_FLUI”
: to give the value of the pressure of the incidental wave,
6) for
the option
“RIGI_ROTA”
: to give the value of the rotation imposed on the model.
INST =
tps
The argument
tps
is used only into thermomechanical.
Lorqu' there exists a temperature in one of the concepts
l_char
, one uses the field then of
temperature possibly interpolated at the moment
tps
. This field of temperature can vary
characteristics of the material field if the material is a function of the temperature;
if not this argument is useless.
3.4 Operand
NUME_DDL
and key word
SOLVEUR
NUME_DDL = naked
The user the macro one must always give a name of concept behind the key word
NUME_DDL
. If
the concept does not exist, it is created and one uses then
SOLVEUR
(see hereafter).
If the concept exists, it is used to number the matrices. In this case
SOLVEUR
is ignored.
background image
Code_Aster
®
Version
7.4
Titrate:
Macro control
MACRO_MATR_ASSE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.61.21-E
Page
:
5/6
Instruction manual
U4.6- booklet: Elementary matrices/Vectors and assembly
HT-66/05/004/A
SOLVEUR =
_F (...)
This key word makes it possible to choose the method of resolution of system linear which one will apply
with the assembled matrices which one creates in this control. That can seem astonishing of
to choose as of the construction of the matrices, the way in which possibly one will make use of it! Reason
in is that the resolution of the linear systems is a “capital” operation, potentially
expensive in time and memory capacity (or disc). According to the adopted method, the mode of
storage and the method of classification of the unknown factors is given. Those thus must
to be selected as of the construction of the matrices.
The description of the arguments of this key word is made in [U4.50.01].
3.5 Word
key
MATR_ASSE
This key word factor makes it possible to ask for the calculation of an assembled matrix (with each occurrence).
The name of the assembled matrix is given by the operand
STAMP
and the “nature” of the matrix is
defined by the operand
OPTION
.
Possible options:
“RIGI_MECA”
,
“MASS_MECA”
,… are described in [U4.61.01 §3.1].
The choice of the option determines the type of
matr_asse_ *
result [U4.61.01 §2].

3.6
Operands particular to certain options
3.6.1 Operand
MODE_FOURIER
MODE_FOURIER = nh
Positive or null entirety indicating the harmonic of FOURIER on which one calculates the matrices.
By defect:
nh = 0
3.6.2 Operand
SIEF_ELGA
(option
“RIGI_GEOM”
)
SIEF_ELGA = sig
The stress field
sig
given for the calculation of the option
“RIGI_GEOM”
must be calculated
with the option
“SIEF_ELGA_DEPL”
(stress field at the points of GAUSS of the elements)
(cf controls
CALC_CHAM_ELEM
[U4.81.03] or
CALC_ELEM
[U4.81.01]).
3.6.3 Operands
THETA
and
PROPAGATION
(option
“RIGI_MECA_LAGR”
)
These operands are useful for the Lagrangian propagation of fissure.

3.7 Operand
TITRATE
TITRATE
Titrate that one wants to give to the result [U4.03.01].
background image
Code_Aster
®
Version
7.4
Titrate:
Macro control
MACRO_MATR_ASSE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.61.21-E
Page
:
6/6
Instruction manual
U4.6- booklet: Elementary matrices/Vectors and assembly
HT-66/05/004/A
4 Examples
4.1
Calculation of mechanical clean modes
MACRO_MATR_ASSE (MODEL = Mo,
CHARGE = ch_blocage,
CHAM_MATER
=
chmat
,
CARA_ELEM
=
carac
,
NUME_DDL
=
Co (
naked
“)
,
MATR_ASSE = (_F (MATRIX = Co (
K
“)
, OPTION = “RIGI_MECA”),
_F
(MATRIX
=
Co (
M
“)
, OPTION = “MASS_MECA”),),)
modes = MODE_ITER_SIMULT (MATR_A = K
, MATR_B = M
…)
4.2
Calculation of modes of buckling of Euler
% chsief
is the stress field related to the loading
MACRO_MATR_ASSE (MODEL = Mo,
CHARGE = ch_blocage,
CHAM_MATER
=
chmat
,
CARA_ELEM
=
carac
,
NUME_DDL
=
Co (
naked
“)
,
MATR_ASSE = (_F (MATRICE= Co (
K
“)
, OPTION=' RIGI_MECA'),
_F (MATRICE=co (
KG
“)
, OPTION=' RIGI_GEOM', SIEF_ELGA=chsief),),)
modflamb = MODE_ITER_SIMULT (MATR_A = K
, MATR_B = KG…)

4.3
Calculation of clean modes “numerical”
The eigenvalues and clean modes calculated here are those of the problem:
M -
* I = 0
where M is an unspecified matrix and
I
the matrix “identity”.
This functionality is a functionality of “programmer” who can be useful to include/understand some
numerical behaviors: bad conditioning of the matrix of rigidity,…
MACRO_MATR_ASSE (MODEL = Mo,
CHARGE = ch_blocage,
CHAM_MATER
=
chmat
,
CARA_ELEM
=
carac
,
NUME_DDL
=
Co (
naked
“)
,
MATR_ASSE = (_F (MATRIX = Co (
K
“)
, OPTION = “RIGI_MECA”),
_F
(MATRIX
=
Co (
I
“)
, OPTION = 'MASS_ID_MDEP_R),),)
modflamb = MODE_ITER_SIMULT (MATR_A = K
, MATR_B = I
…)