9  GROUP E—FUNCTIONS AND INITIAL CONDITIONS

E.10

Object :

The directives described in this Section allow to introduce functions in a variety of forms, necessary for the description of materials, loads, or initial conditions of a calculation.

We distinguish functions of the form y=f(x) (directive FONC, page E.15), from the functions depending from a parameter p, which are of the form y=f(x,p) (directive ABAQ, page E.30).

The abcissa x will most often be the time t in case of a load function, but it is possible to use arbitrary variables for x, y or p.

A special energy injection model (developed at JRC) is also described on page E.38.

9.1  FUNCTIONS

E.15

Object :

This directive defines functions in the form y=f(x). These may be used e.g. for imposed motions or other conditions which depend upon time, and also to define material properties.

Syntax :
"FONC" (  < "NUM" > ifonc |[ "TABL" npts*(xi,yi)              ;
"ROUT" <"PARA" n p1 p2 ... pn>   ;
< "LSQU" deg > "TABL" npts*(xi,yi) ;
"HARM"  nhar*(C c <TYPE type>
\$[ OMEG omeg ; FREQ freq ]\$
\$[ PHIR phir ; PHID phid ]\$
<TMIN tmin> <TMAX tmax>)]| )

"NUM"

Optional keyword introducing the number of the function.
ifonc

Number of the function necessary to identify it when it will be used.
"TABL"

The function is defined by a table (sequence of pairs). See below page E.20.
"ROUT"

The function is computed by means of the subroutine TABANA written by the user. See page E.25. Optionally, a list of parameters may be passed to the routine.
"LSQU"

The function is defined by a table (sequence of pairs). See below page E.20. But a least square polynomial fitting is performed in order to store the function as a polynomial. The fitting quality can be controled in the listing by the mean of standard deviation. If the least square polynomial fitting fails, the function is stored as a table and the computation goes on.
deg

Maximum degree (deg > 0) of the polynomial which fits the table function. Be careful not to use too high degrees: it does not give good results because of too many oscillations.
"HARM"

The function is defined as a combination of harmonic functions.

Comments :

The key-word FONC may appear at most once, at the beginning of the sequence relative to the functions.

Warning :

If there are imposed displacements, dimension also FCOE, see page A.80.

9.1.1  TABLE FUNCTION

E.20

Object :

To define a function y=f(x) by the means of couples of points.

Syntax :

"TABL"  npts*( xi , yi )

npts

Number of couples (xi, yi) defining the table.
xi , yi

Abscissa (time for example) and value (ordinate) of the function at point i.

Comments :

The value of the function at time t (or at the abscissa x) is determined by a linear interpolation.

9.1.2  SUBROUTINE TABANA

E.25

Object :

To define a function by the means of a subroutine written by the user. Optionally, a list of parameters may be passed to the routine.

Syntax :

"ROUT" <"PARA" n p1 p2 ... pn>

"PARA"

Optional keyword introducing a list of parameters to be passed to the routine. These parameters will be made available in subroutine TABANA by means of the COMMON /CTABANA/.
n

Number of parameters to be passed. The maximum is 10.
p1, p2, ... pn

The n parameters to be passed.

Comments :

The user has to write a subroutine which computes the function at every time.

SUBROUTINE TABANA(IFONC,T,COEF,DERIV)
*
*     cette routine permet d'entrer une table sous forme analytique
*
*    ifonc     : numero de la fonction
*    t         : temps du calcul en sec. ou + generalement abscisse
*    coef      : valeur de la fonction ifonc au temps ou abscisse t
*    deriv     : derivee de la fonction ifonc en t (seulement pour courbe
*                de traction du materiau lem2)
*
*  attention !  la fonction 2 est utilisee par le benchmark :
*                     bm_rob_smr
*
USE M_FONCTIONS
*
IMPLICIT NONE
*
*---   variables globales :
INTEGER, INTENT(IN)  :: IFONC
REAL(8), INTENT(IN)  :: T
REAL(8), INTENT(OUT) :: COEF, DERIV
*
*---   variables locales :
REAL(8) :: T0,T1,T2,X,XV,ALPHA,ALPHAV,XF,ALPHAF,TF,Y2
REAL(8) :: F_0, T_BAR, TAU, TT, VV, FAC, V_SUR_F
REAL(8), PARAMETER :: PIGR = 3.14159265359D0
*
REAL(8), EXTERNAL :: FOLCO1
*
DERIV=0.D0
*
SELECT CASE (IFONC)
*
CASE(1)   ! 0 AVANT T0, RAMPE DE T0 A T1, 1 APRES T1
T0 = 0D0
T1 = 5D-3
IF(T < T0) THEN
COEF = 0
ELSEIF(T >= T0 .AND. T <= T1)  THEN
COEF = T/T1
ELSE
COEF = 1
ENDIF
*
CASE(2)   ! CAS DU BENCH
T0 = 0D0
T1 = 0.5D0
T2 = 1.5D0
IF(T <= T0) THEN
COEF = 0D0
ELSEIF(T > T0 .AND. T <= T1)  THEN
COEF = 673D0*T - 508D0
ELSEIF(T > T1 .AND. T <= T2)  THEN
COEF = 148D0*EXP(-5.5D0*(T-T1)) + 8D0
ELSEIF(T > T2)  THEN
COEF = 240D0
ENDIF
*
CASE (3) ! FC FOR PARTITIONS PAPER: applied sinusoidal force
*
* p_tabana(1) = f_0       max. value of applied sinusoidal force
* p_tabana(2) = t_bar     period of applied sinusoidal force
*
IF (N_TABANA < 2) THEN
CALL ERRMSS ('TABANA', 'TOO FEW PARAMETERS ENTERED')
STOP 'TABANA : N_TABANA < 2'
ENDIF
F_0   = P_TABANA(1)
T_BAR = P_TABANA(2)
COEF = FOLCO1 (F_0, PIGR, T, T_BAR)
*
CASE (4) ! FC FOR PARTITIONS PAPER: velocity for sinusoidal force
*
* p_tabana(1) = f_0       max. value of applied sinusoidal force
* p_tabana(2) = t_bar     period of applied sinusoidal force
* p_tabana(3) = tau       traversal time of bar length
* p_tabana(4) = v_sur_f   ratio between v and F (=c/SE)
*                         (v = velocity, F = applied force,
*                          c = sound speed, S = bar cross-section,
*                          E = Young's modulus)
*
IF (N_TABANA < 4) THEN
CALL ERRMSS ('TABANA', 'TOO FEW PARAMETERS ENTERED')
STOP 'TABANA : N_TABANA < 4'
ENDIF
F_0     = P_TABANA(1)
T_BAR   = P_TABANA(2)
TAU     = P_TABANA(3)
V_SUR_F = P_TABANA(4)
COEF = FOLCO1 (F_0, PIGR, T, T_BAR)
FAC = -2.D0
TT = T - (TAU+TAU)
DO WHILE (TT >= 0.D0)
VV = FOLCO1 (F_0, PIGR, TT, T_BAR)
COEF = COEF + FAC*VV
FAC = -FAC
TT = TT - (TAU+TAU)
END DO
COEF = V_SUR_F*COEF
*
CASE (5) ! FC FOR PARTITIONS PAPER: velocity for constant force
*
* p_tabana(1) = f_0       max. value of applied sinusoidal force
* p_tabana(2) = t_bar     period of applied sinus. force (unused here)
* p_tabana(3) = tau       traversal time of bar length
* p_tabana(4) = v_sur_f   ratio between v and F (=c/SE)
*                         (v = velocity, F = applied force,
*                          c = sound speed, S = bar cross-section,
*                          E = Young's modulus)
*
IF (N_TABANA < 4) THEN
CALL ERRMSS ('TABANA', 'TOO FEW PARAMETERS ENTERED')
STOP 'TABANA : N_TABANA < 4'
ENDIF
F_0     = P_TABANA(1)
TAU     = P_TABANA(3)
V_SUR_F = P_TABANA(4)
COEF = F_0
FAC = -2.D0
TT = T - (TAU+TAU)
DO WHILE (TT >= 0.D0)
VV = F_0
COEF = COEF + FAC*VV
FAC = -FAC
TT = TT - (TAU+TAU)
END DO
COEF = V_SUR_F*COEF
*
CASE DEFAULT
CALL ERRMSS('TABANA',
&     'VOUS AVEZ APPELE LE SS-PROGRAMME TABANA SANS LE CREER ')
STOP 'TABANA NON ECRIT !'
END SELECT
*
END SUBROUTINE TABANA
*=======================================================================
REAL(8) FUNCTION FOLCO1 (F_0, PIGR, T, T_BAR)
*
IMPLICIT NONE
*
REAL(8), INTENT(IN) :: F_0, PIGR, T, T_BAR
*
FOLCO1 = 0.5D0*F_0*(1.D0+SIN(PIGR*((2.D0*T/T_BAR)-0.5D0)))
*
END FUNCTION FOLCO1

The arguments have the following meaning:

IFONC : number of the function (input);

T : computing time (input);

COEF : value of the function at time (abscissa) T (output);

DERIV : value of the function derivative at the abscissa T (output). This is mandatory for some materials.

Warning :

It is strongly advised to foresee adequate error messages, like in the above example on the function number.

9.1.3  HARMONIC FUNCTION

E.28

Object :

To define a harmonic function of the form (sum of n terms): y=C1cos(ω1 t1) + C2cos(ω2 t2) + ⋯, where for the i-th term Ci is a coefficient, ωi is the pulsation in rad/s and φi is the phase in rad. Note, however, that if the user prefers, the frequency f (in Hz) can be specified, in place of ω. Also, the phase can be specified in degrees if so preferred.

Syntax :

HARM nhar*( VHAR
C c <TYPE type>
\$OMEG omeg ; FREQ freq\$
<\$PHIR phir ; PHID phid\$> )
<TMIN tmin> <TMAX tmax>
nhar

Number of terms in the sum of harmonic functions.
VHAR

Mandatory keyword that introduces the reading of the set of values for the i-th term.
c

Coefficient of the i-th harmonic term.
type

Type of the i-th harmonic term: 1 means sine, 2 means cosine. By default it is 1 (sine).
omeg

Pulsation (angular frequency) ω of the i-th harmonic term in rad/s. Recall that it is ω=2π f where f is the frequency in Hz.
freq

Frequency f of the i-th harmonic term in Hz. Recall that the pulsation (angular frequency) is then ω=2π f in rad/s.
phir

Phase φ of the i-th harmonic term in radians.
phid

Phase φ of the i-th harmonic term in degrees.
tmin

Time tmin at which the harmonic function (all terms) starts. The function is 0 for t<tmin. By default, the function acts over the entire time scale.
tmax

Time tmax at which the harmonic function (all terms) ends. The function is 0 for t>tmax. By default, the function acts over the entire time scale.

Comments :

The value of the function at time t (or at the abscissa x) is determined by computing the above analytical expression.

If both PHIR and PHID are omitted, a phase of 0 is assumed for the concerned harmonic component.

9.1.4  ABAQUE : PARAMETRISED TABLE FUNCTION

E.30

Object :

To define a set of parametrised functions in the form y=f(x,p) where p is a parameter.

Syntax :

"ABAQ" ( "SET" ifonc "PARA" flot "TABL"  npts*( ti , fi ) )

"SET"

Mandatory keyword to describe a parametrised function.
ifonc

Number of the function necessary to identify it when it will be used.
"PARA"

Announces the value of the parameter.
flot

Value of the parameter.
npts

Number of couples (ti, fi) defining the table relative to the parameter flot.
ti,fi

Abscissa and ordinate of the function at point i.

Comments :

The value of the function for an abscissa t is obtained by linear interpolation.

The "PARA" sequence must appear at least twice.

Warning :

Do not forget to dimension sufficiently (directives "FNOM" and "FTAB", page A.90).

9.2  ENERGY INJECTION HISTORY (JRC)

E.38

Object

This instruction defines the energy injected in: i) fluid elements of types FLxx (JRC model) or CUBE, PRIS, TETR (CEA model), or ii) multicomponent fluid finite volumes (MCxx elements). This directive is extended to fluid finite volumes (MCxx elements) using the MCVO keyword.

References

More information on the formulation of this model may be found in reference [131].

Syntax

"INJE"  "QTAB" ifon   |[ "MASS" ; "VOLU" ;
"MCMA" ; "MCVO" ]|
/LECT/

ifon

Number of the function (see FONC) used to describe the variation in time of the total injected power.
MASS

This keyword applies only in the case of fluid elements, see i) above. The injected power will be distributed among the different elements that form the energy injection zone proportionally to the mass of each element. This is probably the best choice for an energy injection zone bounded by a Lagrangian surface, because in this case the mass of the zone stays constant in time.
VOLU

This keyword applies only in the case of fluid elements, see i) above. The injected power will be distributed among the different elements that form the energy injection zone proportionally to the volume of each element. This is probably the best choice for an energy injection zone bounded by an Eulerian surface, because in this case the volume of the zone stays constant in time.
MCMA

This keyword applies only in the case of fluid finite volumes, see ii) above. Unlike the MASS model, in this case the energy injection is associated to one (or more) particular component(s) of the gas mixture. The presence of such component(s) identifies, at each instant, the current injection zone. The injected power will be distributed among the different control volumes (nodes) that form the current energy injection zone, proportionally to the mass of the chosen component(s) at each node.
MCVO

This keyword applies only in the case of fluid finite volumes, see ii) on page E.38. The injected power will be distributed among the different control volumes that form the energy injection zone, proportionally to the volume of each node. This model is similar to VOLU.
/LECT/

In the MASS or VOLU cases, these are the elements defining the injection zone. In the MCMA case, these are the selected gas components. Finally, in the MCVO case, these are the control volumes (nodes) defining the injection zone.

Comments:

The INJE directive can be repeated as many times as necessary. An additional injection zone is defined each time. At present, up to 5 different zones can be defined.

One may define zones associated with finite elements, and other zones associated with finite volumes, in the same run.

Note that the FONC of index ifon describes the total injected power for the zone, as a function of time. This power is distributed at each instant among the various elements that form the injection zone according to either the mass or the volume of the element in relation to the total mass or volume of the zone.

The following global results can be accessed via TPLOT, for each injection zone that has been defined:

INJVxxxx : Volume of injection zone number xxxx
INJMxxxx : Mass of injection zone number xxxx
INJQxxxx : Power injected in injection zone number xxxx
INJIxxxx : Energy injected in injection zone number xxxx

Note that energy injection may also be applied to finite elements (only of FLxx types) having the FLMP multiphase multicomponent material. In that case, the injected energy is distributed among all fluid components currently present in the element proportionally to their respective relative mass fractions.

EUROPLEXUS offers another (completely distinct) mechanism for prescribing energy (or even mass) generation, namely via the GENE and GENM parameters of the user’s fluid (FLUT or FLMP) material. The main difference is that in that case, the generation applies to the material rather than to a spatial zone (elements or nodes). Another difference is that in that case the given time function (FONC) represents the specific generated energy per unit time, and not the total energy per unit time.

9.3  INITIAL CONDITIONS

E.40

Object:

The directives in this section enable the input of initial conditions relative to displacements, velocities, stresses, temperatures etc.. The temperature can be entered directly or under the form of injected energy.

Syntax:

"INIT"
< "FICH" 'nom_fich' >
< "DEPL"  . . . >
< "VITE"  . . . >
< "VRIG"  . . . >
< "VITC"  . . . >
< "VFCC"  . . . >
< "CONT"  . . . >
< "TETA"  . . . >
< "TNOD"  . . . >
< "ENER"  . . . >
< "GRAD"  . . . >
< "GRAV"  . . . >
< "DEBI"  . . . >
< "ROTA"  . . . >
< "ALIC"  . . . >
< "MCOM"  . . . >
< "CQST"  . . . >
< "CQDF"  . . . >
< "MEDL"  . . . >
< "STAT"  . . . >
< "DMAS"  . . . >
< "EQUI"  . . . >
< "CRAK"  . . . >
< "ADAP"  . . . >
< "IMAT"  . . . >
< "SKIP"  . . . >
< "DELA"  . . . >
< "MAPB"  . . . >
< "ENGR"  . . . >

Comments:

The key-word "INIT" may appear at most once, at the beginning of the sequence relative to the initial conditions.

9.3.1  AUXILIARY FILE

E.45

Object:

This directive allows to read the initial conditions data from an auxiliary file.

Syntax:

< "FICHIER"   'nom.fic'  >

In certain cases the data may be bulky. It is then recommended to store them on an auxiliary file to shorten the main input data file. The auxiliary file is activated by means of the keyword "FICHIER" that precedes the file name (complete under Unix). In the main data file then only the keywords "INITIAL" "FICHIER" remain.

The auxiliary file (in free format) contains the whole set of initial conditions data, except the keyword "INITIAL". To return to the main input data, the auxiliary file must be terminated by the keyword "RETOUR".

9.3.2  INITIAL DISPLACEMENTS

E.50

Object:

The initial conditions concern the nodes of the mesh.

The coordinates of the original mesh are modified.

Syntax:

"DEPL" ( icomp  xm  /LECTURE/ )

icomp

Number of the component to which the initial condition applies.
xm

Value of the displacement.
LECTURE

List of the numbers of the nodes concerned.

Comments:

An initial displacement enables the modification of the geometry for a few points without using the meshing program again.

If several values must be entered, it is not necessary to repeat the number of the component.

Example :

"INIT"  "DEPL"  1  3.1  LECTURE  1 2 TERM
2  1.5  LECTURE  3   TERM
"VITE"  1  0.2  LECTURE  5 PAS 1 10 TERM

9.3.3  INITIAL VELOCITIES

E.60

Object:

These initial conditions are relative to the nodes of the mesh.

- VITE : prescribed initial particle (material) velocity

- VITG : prescribed initial mesh velocity (only available in an ALE calculation)

Syntax:

|[ "VITE" ; "VITG" ]|
( icomp   vi  /LECTURE/                          )
( "RADI"  vr  "CENT" /LECTURE/  "SURF" /LECTURE/ )
\$[ "FILE" ifich ; "LIST" ... ]\$
( "NOEU" n vx vy <vz>                            )

icomp

Number of the component where the initial condition is located.
vi

Value of the prescribed velocity according to the component icomp.
RADI CENT SURF

Prescribe a radial velocity (see comments below).
vr

Modulus of the prescribed radial velocity (see comments below).
FILE

Velocities are read from a file, as defined next.
ifich

Data-set (logical unit number) or file name (in quotes) of the file from which initial nodal velocities are to be read. The data have to be written on the file according with the following (fixed) format. For 3D calculations there are 4 data per line, i.e. (NODE, VX, VY, VZ), and the format is (I6,3E12.5). For 2D calculations there are 6 data per line, i.e. (NODE, VX, VY, NODE, VX, VY) and the format is 2(I6,2E12.5). Note that all nodes of the mesh must be specified in this case, even those having zero initial velocities, because the code reads on from the file until the total number of nodes in the model has been reached.
LIST

Velocities are read from a list, which directly follows the LIST keyword in the input file (starting on a new line). The format of this list is exactly the same as for the FILE option described above. This syntax allows to embed in the input file data originally contained in a separate file, without any format changes, but it should be avoided for newly written inputs.
n vx vy <vz>

Velocity components of node n are vx vy (and vz in 3D).
LECTURE

List of the numbers of the nodes concerned.

Comments:

If several values must be entered, it is possible to repeat the number of the component or the word "RADI".

If the prescribed initial velocity is a radial one the user just has to put the word "RADI" followed by the velocity modulus, and thereafter the word "CENT", to give the number of the central node and to enter the series of nodes having the same radial velocity, after the word "SURF". EUROPLEXUS then automatically computes the initial components of the velocity in the global coordinate system.

Warning: the positive direction goes from the center to the exterior.

Example :

"INIT"  "VITE"   1    -0.2  LECTURE  5 PAS 1 10 TERM
2    -0.3  LECTURE  5 PAS 1 10 TERM
"RADI"   1.5  "CENT"  LECTURE  pcen  TERM
"SURF"  LECTURE  psur  TERM

9.3.4  INITIAL VELOCITIES FOR RIGID BODIES

E.61

Object:

To prescribe initial velocities for rigid bodies.

Syntax:

"VRIG" ( icomp vi /LECTURE/ )

icomp

Index of the component of the initial velocity. See comments below for the meaning of each component.
vi

Prescribed value of the initial velocity according to the component icomp. See comments below for details.
LECTURE

List of the indexes of the rigid bodies concerned (see directive COMP RIGI).

Comments:

If several values must be entered, it is possible to repeat the index of the component.

The initial velocities must be expressed in the global reference frame X, Y, Z (the rotational values are then converted internally to the local reference frame, as appropriate). The meaning of the various components is as follows:

• In 2D calculations, icomp 1 is vX, 2 is vY and 6 is the rotational velocity ω=ωZ. Components 3 (vZ), 4 (ωX) and 5 (ωY) must be 0 in 2D and may not be specified.
• In 3D calculations, icomp 1 is vX, 2 is vY, 3 is vZ, 4 is the rotational velocity ωX, 5 is ωY and 6 is ωZ.

9.3.5  INITIAL VELOCITIES FOR CELL-CENTRED FINITE VOLUMES

E.65

Object:

These initial conditions are relative to the cell centers of a mesh composed of Cell-Centred Finite Volumes.

Syntax:

("VITC"  "VITX" vx  "VITY" vy  <"VITZ" vz>  /LECTURE/)

vx

Initial velocity along x-axis.
vy

Initial velocity along y-axis.
vz

Initial velocity along z-axis (3D only).
LECTURE

List of the numbers of the elements concerned.

9.3.6  INITIAL CONDITIONS FOR CELL-CENTRED FINITE VOLUMES

E.66

Object:

These initial conditions are relative to the cell centers of a mesh composed of Cell-Centred Finite Volumes. For the moment, we can only impose these initial conditions in GAZP and CDEM materials. These new imposed initial conditions override the ones imposed when applying the material to the concerned elements.

Syntax for perfect gas (GAZP) material:

("VFCC"  "VITX" vx  "VITY" vy  <"VITZ" vz>  "PINI" pini "RHO" rho /LECTURE/)

vx

Initial velocity along x-axis.
vy

Initial velocity along y-axis.
vz

Initial velocity along z-axis (3D only).
pini

Initial pressure.
rho

Initial density.
LECTURE

List of the numbers of the elements concerned.

Syntax for the CDEM material:
("VFCC" "VITX" vx "VITY" vy <"VITZ" vz> "PINI" pini "TINI" tini

"KSI0" ksi0 "K0" k0 "Y1" y1  "Y2" y2 "Y3" y3 ... /LECTURE/)

See the CDEM material for the meaning of each term.

9.3.7  INITIAL STRESSES

E.70

Object:

To prescribe initial stresses to different elements.

Syntax:

"CONT" ( icomp  sig /LECTURE/ )

icomp

Number of the component to which the initial condition applies.
sig

Value of the initial stress.
LECTURE

List of the numbers of the elements concerned.

Comments:

The components of the stress tensor are stored in a one-dimensional array. The number of the components depends on the element. See the description of the elements available page INT.80 .

The initial stresses are provided at the integration points of the element.

If there are several integration points in one element, an initial value is given to the component icomp of all the points concerned.

If the initial stresses are the result of a static load, it may be more adequate to use EUROPLEXUS for the necessary computations, by using a quasi static damping (see the instruction "OPTION"). A restart after that first computation, by changing the load, will provide the desired result.

Be careful and respect the writing conventions for the stress tensor of each element (see GBG_0020).

9.3.8  INITIAL TEMPERATURES

E.80

Object:

To prescribe different temperatures on certain elements. The values are either directly read from the input file, or as the results of a DELFINE file.

Syntax:

Direct reading:

"TETA"   (  ti  /LECTURE/   )

Reading from a DELFINE file:

"TETA"  "DELFINE" ndelfine    "TDELFINE"  tdelfine

ti

Initial temperature.
LECTURE

List of the numbers of the elements concerned.
ndelfine

Logical unit number of the DELFINE file.
tdelfine

Time written on file DELFINE. The field of temperatures at that instant is considered as the initial temperature field for the EUROPLEXUS computation.

Comments:

The definition of a temperature is compulsory for a isotropic Von Mises material dependant on temperature (VMIS TETA) as well as for the material PUFF. By default it is supposed to be equal to zero.

If the user wants to impose to the material VMIS TETA a field of initial stresses due to heating, he has to use the instruction "ENERGIE" (see page E.90).

9.3.9  NODAL TEMPERATURES FOR ADVECTION-DIFFUSION (JRC)

E.85

Object:

To prescribe initial nodal temperatures for advection-diffusion problems. These can optionally be read from a separate data-set.

Syntax:

"TNOD"  |[ ( tnod  /LECTURE/) ;
"FILE"  ifich      ;
\$ "LIST"  ...         \$

tnod

Initial temperature.
/LECTURE/

List of concerned nodes.
FILE

Temperatures are read from a file, as defined next.
ifich

Unit number of data-set containing nodal temperatures in the form (node index, T). Values are read using format (4(i6,e12.5)).
LIST

Temperatures are read from a list, which directly follows the LIST keyword in the input file (starting on a new line). The format of this list is exactly the same as for the FILE option described above. This syntax allows to embed in the input file data originally contained in a separate file, without any format changes, but it should be avoided for newly written inputs.

9.3.10  INITIAL ENERGY SUPPLY

E.90

Object:

The directive is used to input the temperature field and the field of the corresponding initial stresses generated by a supply of external energy.

The instruction can be used only in connection with the material VMIS TETA (Von Mises isotrope dependant on temperature).

Syntax:

"ENERGIE" ( "CV" cv   "ALPHA" alpha  "DEPOSE" wd  /LECTURE/ )

cv

Specific heat.
alpha

Coefficient of linear expansion.
wd

Supplied energy.
LECTURE

List of the numbers of the elements concerned.

Comments:

The definition of a temperature is compulsory for an isotropic Von Mises material depending on temperature. By default it is supposed to be equal to zero.

For this material, the phenomenum is considered isothermal and the temperature remains constant during the computation.

A supplied energy result in an initial stress sig0:

sig0 = E * alpha * ( wd / cv )

Here E represents Young’s modulus. Obviously, the temperature increment relative to the supplied energy is taken into account:

DT = wd / cv.

9.3.11  INITIAL BENDING STRESSES DUE TO TEMPERATURE GRADIENT

E.100

Object:

The instruction inputs a field of initial bending stresses, generated by a temperature gradient through the thickness of shell elements.

Syntax:

"GRADIENT"  gradt                          ...
...  (   \$[   "ALPH"   alpha                     ;
"ALP1"   alp1      "ALP2"  alp2    ]\$  /LECTURE/  )

gradt

Temperature gradient (along the normal to the element).
alpha

Coefficient of linear expansion (isotropic materials).
alph1,alph2

Coefficients of linear expansion (orthotropic material) in the orthotropy coordinate system relative to the element CMC3.
LECTURE

List of the numbers of the elements concerned.

Comments:

The orientation the normal depends on the numbering of the nodes of the element (see Maxwell’s cork-screw rule).

This option concerns only the following shell elements: COQUE, COQ3, COQ4, CMC3, and the following materials: LINEAIRE, VMIS ISOTROPE, VMIS TETA, ORTHOTROPE.

For isotropic materials, the initial stress sigf0 is :

sigf0 = - alpha * gradt * epaisseur * young / (1-nu)

9.3.12  GRAVITY LOADING

E.110

Object:

This directive allows to introduce an initial stress field due to gravity (or to hydrostatic pressure, for the fluids) that equilibrates the body weight at the initial time. In the case of pipelines (elements "TUBE" or "TUYA"), it is preferable to use directive "INIT" "DEBI" (page E.120).

Syntax:

"GRAVITE"    "PTSL" xcoor ycoor < zcoor >    "PSL" psl
"G"     gx    gy   <   gz  >   < "STRUC" >
"COUCH"   ncouch*(  "RO" rho   "H"  h )
...       /LECTURE/
xcoor, ycoor, zcoor

Coordinates of the point defining the free surface supposed normal to the vector defining the body weight.
psl

Initial pressure at the free surface.
gx gy gz

Components of the weight.
STRUC

Indicates that the concerned elements are associated to a structural material (the stress field is computed in the global reference frame).
ncouch

Number of layers composed by different materials.
rho

Density of the layer.
h

Height of the layer.
LECTURE

Numbers of the elements subjected to gravity.
psf

|     |     |     |     |     |
|     |     |     |     |     |
v     v     v     v     v     v
_______________________________ .......   free surface
|                             |       |
|       |        layer no. 1 (rho1)   |       | h
| G     |                             |       |  1
|       |-----------------------------| ......V
v       |        layer no. 2 (rho2)   |       | h
|-----------------------------| ......V  2
|                             |       |
|                             |       |
|        layer no. 3 (rho3)   |       | h
|                             |       |  3
|                             |       |
|-----------------------------| ......V
.                             .
.                             .

Comments:

The component <gz> of the acceleration is only used in a 3D calculation.

The pressure is associated to the elements’ Gauss points.

The gravity may only be used with continuum elements; the elements of type shell, beam, bar are excluded.

In the case of fluid materials gravity may only be taken into account with the following material laws:

number | name  |  fluid material law
-------|-------|-----------------------------------------
7   | FLUI  |  isothermal fluid ( c = cte )
8   | CAVI  |  liquid with cavitation
21   | ECOU  |  isothermal fluid flow
10   | NAH2  |  sodium-water reaction
34   | ADCR  |  confinement accident (fast neutrons)
53   | ADCJ  |  confinement accident with JWL gas
22   | EAU   |  two-phase water (liquid + vapour)
-------|-------|-----------------------------------------

Warning:

In order to obtain a state of equilibrium at t = 0, it is necessary to use the directive CHARGEMENT CONSTANT GRAVITE (see page F.30). The stresses computed will then be equilibrated by the forces applied to the nodes of the structure defined by the directive "CHARG CONST GRAV".

For the fluid materials for which the density is re-computed, it is necessary to do a first calculation of just one step (for example) so as to obtain the correct values of the density RHO.

9.3.13  PRESCRIBED CONSTANT FLOW RATE

E.120

Object:

This directive allows to specify a field of initial pressures in the branch of a pipeline, which equilibrates at the initial time instant the forces due to head losses, so as to obtain a constant mass flow rate. The hydrostatic pressure is also accounted for, in the case that a gravity load is also prescribed.

This directive may be used only in 1D: elements "TUBE" or "TUYA".

Syntax:

"DEBIT"
"LIGN" "PENT" pent   "DEBI" dmas   < "GRAV"  gx gy gz >

"ORIG"        /LECTURE/
"LIST"        /LECTURE/

LIGN

Keyword introducing the reading of the data relative to a pipeline branch.
pent

Inlet pressure of the pipeline branch.
dmas

Imposed mass flow rate in the pipeline branch.
gx,gy,gz

Gravity components.
ORIG

Keyword announcing the reading of the node number at the inlet of the pipeline branch.
LIST

Keyword announcing the reading of the element numbers of the pilpeline branch.

Comments:

In the case of a complex pipeline, it is mandatory to decompose it in several elementary branches, for each of which the directive "LIGN" "PENT" ... will be repeated.

The pressure is applied at the element centers.

The velocities in each node of the branch will be computed by EUROPLEXUS, as a function of the mass flow rate (dmas) and of the local diameters.

If there is a gravity loading, do not forget to prescribe also "CHARGE" "CONST" "GRAVITE" (page F.30) for the rest of the calculation. In fact, the directive "INIT" "DEBI" computes only the initial status.

There is just one d.o.f. for the elements of type "TUBE", therefore only the weight component along the axis is taken into account for the kydrostatic pressure.

This directive may be used only for the pipelines, i.e. with elements "TUBE", "TUYA", "CAVI", "BIFU", "CL1D" and "CLTU".

It is currently possible to account for the initial mass flow rate only for the following materials:

number | name  |  fluid material law
-------|-------|-----------------------------------------
7   | FLUI  |  isothermal fluid ( c = cte )
8   | CAVI  |  liquid with cavitation
21   | ECOU  |  isothermal fluid flow
10   | NAH2  |  sodium-water reaction
22   | EAU   |  two-phase water (liquid + vapour)
-------|-------|-----------------------------------------

Example:

p1 (pressure)
pt1   *
|
|
v
|flowrate1
|
|
|
|
v
p2 (pressure) | pt2   flowrate2
+*----->----------->----- p3 (pressure)
pt3  *
/
/
/
/  flowrate3
/
/
/
/
/
p4 (pressure)

In this example the directive will become:

"INITIAL"

"DEBIT"
"LIGN" "PENT" p1    "DEBI"  debit1
"ORIG"       "LECT"   pt1    "TERM"
"LIST"       "LECT"  ligne1  "TERM"

"LIGN" "PENT" p2   "DEBI"   debit2
"ORIG"      "LECT"    pt2    "TERM"
"LIST"      "LECT"   ligne2  "TERM"

"LIGN" "PENT" p3   "DEBI"   debit3
"ORIG"      "LECT"    pt3    "TERM"
"LIST"      "LECT"   ligne3  "TERM"

Remarks:

In the preceding example, if one just knows the inlet pressure and the mass flow rate in the branch ‘ligne1’, the following procedure may be followed to obtain the equilibrium status:

- A first EUROPLEXUS calculation is performed for just 1 time step, by taking as initial pressure the inlet pressure p1 for all the pipeline branches with the desired mass flow rates (flowrate1, flowrate2 and flowrate3).

- On the EUROPLEXUS listing, the head losses are printed for each branch of the pipeline. By knowing the head losses in the branch ‘ligne1’, the outled pressure for this branch may be deduced: p = p1 - pcha1 which corresponds to the inlet pressures for the branches ‘ligne2’ and ‘ligne3’ of our example.

- For the real calculation, the initial conditions to be assumed are then an initial pressure p1 for the branch ‘ligne1’ and an initial pressure p2 = p1 - pcha1 for the branches ‘ligne2’ and ‘ligne3’. The output pressures of branches ‘ligne2’ and ‘ligne3’ are respectively equal to p3 = p2 - pcha2 = p1 - pcha1 - pcha2 and p4 = p2 - pcha3 = p1 - pcha1 - pcha3; where pcha2 and pcha3 indicate the head losses in the branches ‘ligne2’ and ‘ligne3’.

- In order to obtain an even better precision, one must take care that the inlet pressure of the branch and the initial pressure of the fluid elements in the branch be coherent. This implies using a "MATERIAU" directive per branch, with the same elements as for the initial mass flow rate.

9.3.14  INITIAL ROTO-TRANSLATIONAL VELOCITY

E.130

Object:

This directive allows to initialise the velocity field for a structure undergoing an initial rotational and an (optional) superposed translational motion. At each node of the structure, the values of initial translational velocity components (resulting from the roto-translational global motion of the body) are evaluated. If a node also possesses rotational degrees of freedom (e.g. because it belongs to a shell or a beam) then also the rotational components of velocity are initialized.

Note that the present directive does not initialize the stress field generated by centrifugal forces in the structure. This initialization must be done by a suitable separate input directive, if the structure must be initially in equilibrium.

Syntax:

"ROTA"    "ORIG" ox oy <oz>
"AXIS" ax ay az
"OMEG" omeg
<\$ "VAXE" vaxe ; "VTRA" vx vy <vz> \$>
/LECT/

The data consist of two parts. The first part is mandatory and defines the rotational components of the velocity.

ORIG ox oy <oz>

Coordinates Ox, Oy, Oz of the “origin” point O for the rotation (Oz must not be specified in 2D).
AXIS ax ay az

Components ax, ay, az of the vector defining the rotation axis a. These data must not be specified in 2D because in this case the rotation axis is supposed to be normal to the plane and directed “upwards”, i.e. a positive initial rotational velocity produces a counter-clockwise rotation. The defined vector a need not be unitary in length, since it is normalized to unit length internally immediately after reading: â=a/||a||. Rotation is then assumed to occur around an axis parallel to â and passing through the “origin” O that has been defined above. The former keyword for this parameter (VECT instead of AXIS) is obsolescent and deprecated, but it is still accepted for backward compatibility.
OMEG omeg

Rotational velocity ω in rad/s around an axis parallel to â through O, that is ω=ωâ.

The second part of the directive is optional and defines an initial translational velocity v0 to be combined with the initial rotational velocity ω. The VAXE form is a special syntax that can be used when v0 is directed along the axis of rotation â, that is if v0=vaâ, and is maintained for backward compatibility of old input files. The VTRA form is more general (although in principle redundant, as explained in the comments below), since it allows to define a generic translational velocity v0 not necessarily directed along the axis of rotation â. If both keywords are omitted, the initial translational velocity will be zero.

VAXE vaxe

Initial axial velocity va, i.e. initial translational velocity directed along the axis of rotation â defined above. This keyword is only available in 3D, since in 2D no velocity along the axis of rotation (which is normal to the plane) may occur.
VTRA vx vy <vz>

Initial translational velocity v0, of components vx, vy, vz. The z component must be specified in 3D and must not be specified (it is zero) in 2D.

The directive is concluded by specifying the nodes of the structure submitted to the initial roto-translational velocity.

/LECT/

Numbers of the nodes belonging to the initially roto-translating structure.

Comments:

This directive initializes, for each node I defined by the preceding /LECT/, a translational velocity equal to:

 ▸ vI
 ▸ ω
×
 ▸ OI
+
 ▸ v0
= ωâ×
 ▸ OI
+
 ▸ v0
(45)

If the VAXE form is used for the translational velocity, then this reduces to:

 ▸ vI
= ωâ×
 ▸ OI
+vaâ     (46)

When the concerned node I has also rotational degrees of freedom, its initial rotational velocity components are initialised as well:

 ▸ ω
 I
=
 ▸ ω
= ωâ     (47)

In principle, any rigid body motion can be described by the superposition of the rotation around a given axis (called the instantaneous axis of rotation) plus a translation along this same axis. Therefore, the VAXE form of this input directive is sufficient to define any roto-translational state of initial velocity, provided the instantaneous axis of rotation is known (i.e., not only as a direction, but also thhrough its position in space, as given by one of its points).

However, in practice a user may prefer to think of the motion as the superposition of a rotation around a particular axis (typically, but not necessarily, passing through the centre of gravity G of the body) plus a translation in a direction not parallel to this axis. Since the analytical determination of the “true” rotational axis (instantaneous axis of rotation as defined above) is not immediate in such a case, the VTRA form of the command can come handy, since it can be used directly.

In 2D, it is supposed that the rotation axis is normal to the plane.

It is also necessary to define the initial field of the stresses generated by the centrifuge forces, else the structure will not satisfy the equations of motion at the initial time.

9.3.15  INITIALISATIONS FROM A PREVIOUS ALICE FILE

E.140

Object:

This directive allows to initialise the geometry, the stress field and the field of hardening parameters starting from the ALICE file of a previous EUROPLEXUS calculation.

Syntax:

"ALICE"  ndfic
< "MFRO"     omega   >
< "ECRO"             >
< "TEMPS"    temps   >
< "NPAS"     npas    >
< "POINT"    noe1 noe2 >
< "ELEMENT"  iel1 iel2 >

ndfic

Logical unit number of the preliminary ALICE file.
omega

Activate “mise a froid” for the structure according to the omega parameter.
ECRO

Initialize the ECR array. By default, ECR is not initialized: one makes a preliminary calculation with a very large elastic limit, which yields an elastic solution. In the following calculation, the true material curve is used (one starts with zero plastic deformation).
temps, npas

Time or step number of the ALICE file starting from which one reads the fields of displacement, stress and hardening parameters necessary for the initialisation of the present calculation.
noe1,noe2

The initialisation will only occur for the nodes between noe1 and noe2.
iel1,iel2

The initialisation will only occur for the elements between iel1 and iel2.

Comments:

The meshes of the current calculation an of the preliminary one may be different. But it is MANDATORY that all nodes and elements of the preliminary calculation MAINTAIN THE SAME NUMBERS in the present one. The present mesh must therefore be a superset of the previous one.

When the directives "TEMPS" or "NPAS" are not given, EUROPLEXUS initialises starting from the last step of the preliminary calculation.

When the directive "POINT" (respectively "ELEM") is not present, EUROPLEXUS initialises for all points (respectively all elements).

9.3.16  INITIAL STATUS OF MULTICOMPONENT FLOW (JRC)

E.150

Object:

The instruction defines initial conditions for multicomponent fluid flows.

Syntax:

"MCOM"   "TEMP"                 \$ ( val  /LECT/ )          \$
\$ "CHAM"  /LCHP/  /LECT/   \$

"PRES"                 \$ ( val  /LECT/ )          \$
\$ "CHAM"  /LCHP/  /LECT/   \$

"VEL1"                 \$ ( val  /LECT/ )          \$
\$ "CHAM"  /LCHP/  /LECT/   \$

"VEL2"                 \$ ( val  /LECT/ )          \$
\$ "CHAM"  /LCHP/  /LECT/   \$

"VEL3"                 \$ ( val  /LECT/ )          \$
\$ "CHAM"  /LCHP/  /LECT/   \$

(     "COMP"  'namecomp'
"MFRA"    \$ ( val  /LECT/ )          \$
\$ "CHAM"  /LCHP/  /LECT/   \$ )

TEMP

Introduces the value(s) of temperature.
PRES

Introduces the value(s) of pressure.
VEL1

Introduces the value(s) of x-velocity.
VEL2

Introduces the value(s) of y-velocity.
VEL3

Introduces the value(s) of z-velocity.
COMP

Introduces the component (identified by its name namecomp). The name must be spelled exactly as in the declaration of the MCGP material, up to 8 characters.
MFRA

Introduces the value(s) of mass fraction.
val

Value.
LCHP

Values in the form of a CASTEM2000 ‘champoint’.
LECTURE

List of the numbers of the nodes concerned.

Remarks:

Normally, the COMP ... MFRA directive should be repeated at least ncom times, where ncom is the total number of components of THE multicomponent material of type MCGP declared in the MATE directive. Note that only one material of type multicomponent (MCGP) is allowed within a model.

If values are not specified for a certain zone, they will be set to 0.

9.3.17  INITIAL TENSOR OF STRESS

E.160

Object:

To prescribe initial tensor of stress to different elements.

Syntax:

"CQST" ( igauss sig /LECTURE/ )

igauss

Number of the gauss point.
sig

Values of the initial components of stress tensor.
LECTURE

List of the numbers of the elements concerned.

Comments:

The components of the stress tensor are stored in a one-dimensional array. The number of the components depends on the element. See the description of the elements available page INT.80 .

The initial stresses are provided at the integration points of the element. Bending stresses can then be taken into account.

Be careful and respect the writing conventions for the stress tensor of each element (see page G.20).

The table gives the position of the integration points for the Q4GS shell element.

-------------------------------------------
| N. Point Gauss |  XSI  |  ETA  |  ZETA  |
-------------------------------------------
|       1        |   -1  |  -1   | -0.9.. |
|       2        |    1  |  -1   | -0.9.. |
|       3        |    1  |   1   | -0.9.. |
|       4        |   -1  |   1   | -0.9.. |
|       5        |   -1  |  -1   | -0.5.. |
|       6        |    1  |  -1   | -0.5.. |
|       7        |    1  |   1   | -0.5.. |
|       8        |   -1  |   1   | -0.5.. |
|       9        |   -1  |  -1   |  0     |
|      10        |    1  |  -1   |  0     |
|      11        |    1  |   1   |  0     |
|      12        |   -1  |   1   |  0     |
|      13        |   -1  |  -1   |  0.5.. |
|      14        |    1  |  -1   |  0.5.. |
|      15        |    1  |   1   |  0.5.. |
|      16        |   -1  |   1   |  0.5.. |
|      17        |   -1  |  -1   |  0.9.. |
|      18        |    1  |  -1   |  0.9.. |
|      19        |    1  |   1   |  0.9.. |
|      20        |   -1  |   1   |  0.9.. |
-------------------------------------------

For a shell element and a non linear material (such as von Mises material or Hyperelastic material), the stress tensor has 8 components : 3 components of membrane-bending (xx, yy, xy), 3 components that are zero and 2 components of shear (yz, xz).

9.3.18  INITIAL TENSOR OF STRAIN

E.170

Object:

To prescribe initial tensor of strain to different elements.

Syntax:

"CQDF" ( igauss strain /LECTURE/ )

igauss

Number of the gauss point.
strain

Values of the initial components of strain tensor.
LECTURE

List of the numbers of the elements concerned.

Comments:

The components of the strain tensor are stored in a one-dimensional array. The number of the components depends on the element. See the description of the elements available page INT.80 .

The initial strains are provided at the integration points of the element. Flexural strains can then be taken into account.

Be careful and respect the writing conventions for the strain tensor of each element (see page G.20).

The table gives the position of the integration points for the Q4GS shell element.

-------------------------------------------
| N. Point Gauss |  XSI  |  ETA  |  ZETA  |
-------------------------------------------
|       1        |   -1  |  -1   | -0.9.. |
|       2        |    1  |  -1   | -0.9.. |
|       3        |    1  |   1   | -0.9.. |
|       4        |   -1  |   1   | -0.9.. |
|       5        |   -1  |  -1   | -0.5.. |
|       6        |    1  |  -1   | -0.5.. |
|       7        |    1  |   1   | -0.5.. |
|       8        |   -1  |   1   | -0.5.. |
|       9        |   -1  |  -1   |  0     |
|      10        |    1  |  -1   |  0     |
|      11        |    1  |   1   |  0     |
|      12        |   -1  |   1   |  0     |
|      13        |   -1  |  -1   |  0.5.. |
|      14        |    1  |  -1   |  0.5.. |
|      15        |    1  |   1   |  0.5.. |
|      16        |   -1  |   1   |  0.5.. |
|      17        |   -1  |  -1   |  0.9.. |
|      18        |    1  |  -1   |  0.9.. |
|      19        |    1  |   1   |  0.9.. |
|      20        |   -1  |   1   |  0.9.. |
-------------------------------------------

For a shell element and a non linear material (such as von Mises material or Hyperelastic material), the strain tensor has 8 components : 3 membrane components (xx, yy, xy), 3 bending components (xx, yy, xy) and 2 components of shear (yz, xz).

9.3.19  INITIALISATIONS FROM A MED FILE

E.180

Object:

This directive allows to read displacements, velocities, stresses, internal variables, strains and fluid velocities from a MED file created by EPX or Code_Aster only. The coordinates of the original mesh are modified. If reading of stresses is not specified, EUROPLEXUS calculates the initial stress field and the initial internal forces from the displacements (available in sequential version only).

Syntax:
"MEDL"
< "CONT" >
< "ECRO" >
< "VCVI" >
< "NITE"     niter    >
niter

Number of iterations to calculate the initial conditions. Default value : NITE = 1

Comments:

This directive detects if the file comes from EPX or Code_Aster with field’s names.

The directive "CONT" allows reading both displacements and corresponding stresses stored in the MED file (they must be present). Velocities and strains are also read if present in the file.

If the file comes from Code_Aster, only BR3D, T3GS, Q4GS, TETR, CUB8, CAR1 and CAR4 elements’ values can be initialised. Others values are ignored. When using "CONT" option, no iterations are needed because stresses are not calculated from displacements.

When "ECRO" is present, internal variables are read from the MED file.

"VCVI" is used to take in account initial fluid velocities for VFCC elements. This option is only available with ADCR material and must be associated with option "ECRO".

The directive "NITE" allows to initialize a non-linear initial status. At least one material has a non-linear behaviour or the initial displacements, rotations are large.

9.3.20  INITIALISATIONS FROM A STATIC ANALYSIS

E.190

Object:

This directive allows to read results from a former static analysis performed to compute the initial state of the current model. Results are entered by means of displacement fields. Several fields can be given if the static analysis is non-linear, so that the non-linear loading path can be correctly followed. For each field, the corresponding displacement can be applied within a certain number of iterations.
The coordinates of the original mesh are modified.
From displacements EUROPLEXUS calculates the initial stress field and the initial internal forces.

Syntax:

"STAT"  ifich

ifich

Number of the logical unit of the formatted file or file name in quotes.

Comments:

In order for the initial state to be in equilibrium, keyword (INIT) EQUI must also be used (e.g. INIT STAT ifich EQUI).

The formatted file is structured as follows:
On the first line, with the format (’NSTP ’,I10,’ NBNO ’,I10), are given the number of displacement fields nstep and the number of nodes nbnodes for all fields.
The file then contains nstep blocks, each block corresponding to one displacement field.
On the first line of each block, with the format (’NCYC ’,I10) is given the number of iterations used to apply the corresponding displacement field.
Then, nbnodes lines follow, each containing field values for one node of the mesh.

Node line structure is the following:

Format: (I10,1X,I2,ncomp(1X,A2,1X,E12.5))

1st integer: number of the node in the EUROPLEXUS model
2nd integer: ncomp=number of dofs to be read

For each dof:

Character: Name of the dof:

'UX','UY','RZ' for 2D problems
'UR','UZ','RT' for axisymmetrical problems
'UX','UY','UZ','RX','RY','RZ' for 3D problems

Real: Value of the displacement field for this dof

9.3.21  PRESCRIBED MASS FLOW RATE

E.200

Object:

This directive allows to specify a prescribed mass flow rate in a pipeline.

This directive may be used only in 1D.

Syntax:

"DMAS" dmas /LECTURE/

dmas

Value of the imposed mass flow rate.
/LECT/

List of node numbers.

9.3.22  PRESCRIBED INITIAL EQUILIBRIUM

E.210

Object:

This directive allows to impose initial equilibrium conditions over the whole mesh or in a region specified by the user.

The code computes external applied forces which exactly equilibrate the internal forces (e.g. resulting from an initial stress state) in the initial configuration and adds these (constant) force values to the other prescribed external forces at every time step during the transient computation.

In other words, at step 0 the code computes the equilibrating forces:

 Feq=Fint

Then, at every time step (including step 0) these equilibrating forces are added to the other imposed external forces:

 Fext=Fext+Feq

Optionally, by specifying the keyword FTOT, the above equilibration procedure is applied to the total forces (i.e., to the difference between internal and external forces) rather than to the internal forces alone. In this case, at step 0:

 Feq=Fint−Fext

and then:

 Fext=Fext+Feq

Syntax:

"EQUI" \$[ "FINT" ; "FTOT" ]\$ </LECTURE/>

/FINT/

Equilibrium takes into account only initial internal forces: this is the default behaviour.
/FTOT/

Equilibrium takes into account both initial internal forces and initial external forces.
/LECT/

List of node numbers for which initial equilibrium is prescribed. By default (no /LECT/ specified) all nodes in the mesh are taken.

Comments:

The use of /LECT/ to specify the zone subjected to initial equilibrium may be useful in some special cases. For example, assume a stratified (layered) soil subjected to an internal explosion (gas bubble). The soil has initial (hydrostatic-like) stresses due to soil weight, and must be initially equilibrated. However, the fluid (explosive bubble) should not be equilibrated. In this case the /LECT/ would specify just the soil sub-domain (or just its envelope, in case e.g. gravity load is applied to the whole problem).

The use of the FTOT optional keyword may be useful in case e.g. there are some “external” forces that should be equilibrated as well in the initial configuration. For example, fluid-structure interaction forces.

As indicated by the syntax, several zones of imposed equilibrium can be declared, by choosing in each zone the appropriate type of equilibrium (internal or total). For example:

EQUI FTOT LECT zone1 TERM
FINT LECT zone2 TERM

Note that the initialization of the equilibrating forces is done at the initial step of a calculation containing the present EQUI directive. In practice, in most cases, this means at step 0 of the calculation.

However, this feature may be exploited, in conjunction with the use of restart, in order to start the equilibration of forces at a time different from the initial time.

For example: perform a first run with saving for restart and without the EQUI directive. In this way, no equilibration takes place at the initial time. Then, restart the calculation by specifying the EQUI directive: the equilibrating forces are computed at the restart time and are applied thereafter (even in case of successive restarts).

1) first run (without EQUI but with QUAS STAT and some blockages):
. . .
LINK COUP BLOQ 12 LECT absr TERM
ECRI ... FICH SAUV LAST
OPTI QUAS STAT 1. 105. UPTO 0.E0
CALC TINI -50.E-3 TEND 0.D0
. . .

2) restart run (without QUAS STAT but with EQUI,
blockages are removed):
. . .
REPR 'xxxx.sau' POSI 1
LINK COUP ! empty directive to remove the previous links
EQUI FTOT LECT zone1 TERM
FINT LECT zone2 TERM
. . .

9.3.23  PRESCRIBED INITIAL CRACK IN SPHC MODEL

E.220

Object:

This directive allows to define one or several initial crack(s) in a SPHC model (SPH approach for shells - see Page GBC_0093).

Each crack is defined by a set of segments between given stress-points. Every stress-point located on the path of a crack is supposed to have failed at initial time.

Syntax:

"CRAK" ncrk * ( /LECTURE/ )

ncrk

Number of initial cracks.
/LECTURE/

Ordered list of stress-points defining the segments of a crack.

9.3.24  INITIAL CONDITIONS FOR ADAPTIVITY

E.230

Object:

This directive allows to impose initial conditions for adaptive calculations, namely mesh refinement operations to be performed in the initialization phase of a calculation (see sub-directives SPLI and ROUT). These operations are performed starting from the base mesh, i.e. the mesh provided in input by means of the GEOM directive.

Furthermore, by means of the sub-directive IMAT it is possible to fine-tune the initial state (i.e. at step 0) or to re-initialize (at a given time or step subsequent to the beginning of the simulation) the physical state of the material in an adapted mesh by means of the sub-directive IMAT.

Syntax:

ADAP < ( SPLI LEVE leve /LECTURE/ ) >
<   ROUT CASE ncas >
<   IMAT <TIME t> <NPAS n>
nimat*(MATE mat OBJE /LECT/ ( \$ INSI ; OUTS \$
\$ SURF ; VOLU \$ /LECT/) ) >

SPLI

Split the specified object to the specified level of refinement. Recall that the base mesh has level 1. The first splitting (level 2) halves the elements size, the second splitting (level 3) further halves the mesh size (1/4) and so on. Note that splitting can be applied both to base elements and to descendent elements. The splitting operations can be defined in any order, but they are applied in the natural order, i.e. by growing element index.
LEVE

Specifies the level leve of the split operation.
/LECT/

List of element to be split to the specified level.
ROUT

Initializations are performed by a user-written routine INIT_ADAP_ROUT after any split and unsplit operations specified by this same directive.
CASE

Introduces the case number ncas. Different cases correspond to different initializations which are programmed in the INIT_ADAP_ROUT user subroutine.
IMAT

Initialize (or re-initialize) the material properties (i.e. the physical state) of the material in an adapted mesh. By default, i.e. if neither TIME nor NPAS are specified, initializations are performed immediately after the split operations done, at step 0, either by the WAVE directive or by some FSI-driven adaptivity (FLSR or FLSW).
TIME

Time at which the (re-)initialization of the material state must be performed. If neither TIME nor STEP are specified, the (re-)initialization is performed at step 0, i.e. at the initial time of the simulation. If both TIME and STEP are specified, the (re-)initialization is performed at whatever of the two comes first.
NPAS

Time step at which the (re-)initialization of the material state must be performed. If neither TIME nor STEP are specified, the (re-)initialization is performed at step 0, i.e. at the initial time of the simulation. If both TIME and STEP are specified, the (re-)initialization is performed at whatever of the two comes first.
nimat

Number of different IMAT zones, to be defined next.
MATE mat

Index of the material (as declared in the MATE directive) to be assigned to the elements defined in the following.
OBJE

The elements in the following /LECT/ are the candidates for the assignmente of the initial material properties (subjected to the following conditions).
INSI

The material mat has to be assigned to the elements inside the following defined surface or volume. Since the geometrical operations necessary to determine whether a point is or not inside a volume (or surface) are complicated and subjected to errors related to tolerances in the tests, it is always advisable to use simplex elements (TRI3 shape in 2D and TET4 shape in 3D) to define the volume, instead of using more complex element shapes such as QUA4, CUB8 etc. In fact, for TRI3 and QUA4 the inverse mapping is analytical while this may not be the case of the other geometric shapes.
OUTS

The material mat has to be assigned to the elements outside the following defined surface or volume. Since the geometrical operations necessary to determine whether a point is or not inside a volume (or surface) are complicated and subjected to errors related to tolerances in the tests, it is always advisable to use simplex elements (TRI3 shape in 2D and TET4 shape in 3D) to define the volume, instead of using more complex element shapes such as QUA4, CUB8 etc. In fact, for TRI3 and QUA4 the inverse mapping is analytical while this may not be the case of the other geometric shapes.
SURF

The (surfacic) elements in the following /LECT/ define an oriented surface (not necessarily closed, nor simply connected). All elements belonging to the surface must be consistently oriented. See the comments below for the precise algorithm used to decede whether a given poind is “inside” or “outside” the surface.
VOLU

The (volumetric) elements in the following /LECT/ define a volume.

Comments:

As indicated by the brackets, the SPLI sub-directive can be repeated as many times as necessary to specify all the parts of the mesh to be initially split.

Also, as indicated by the (inner) brackets, the INSI, OUTS, SURF, VOLU, /LECT/ block can be repeated as many times as needed (including zero times) to define the portion of the object OBJE /LECT/ to which the chosen material properties must be applied. The elements retained are those belonging to the OBJE defined and satisfying all the specified conditions (if any). Example 1:

... IMAT 1 MATE 3 OBJE LECT toto TERM

would assign the properties of material 3 to the entire object toto (without any conditions). This is the same as normal material assignment and therefore it is not necessary to use IMAT for this.

Example 2:

... IMAT 1 MATE 3 OBJE LECT toto TERM INSI VOLU LECT v1 TERM

would assign the properties of material 3 to the elements (more precisely, to the active descendent elements) of object toto whose centroid lies within the volume v1 (at the initial time).

Example 3:

... IMAT 1 MATE 3 OBJE LECT toto TERM INSI VOLU LECT v1 TERM
OUTS SURF LECT s1 TERM

would assign the properties of material 3 to the elements (more precisely, to the active descendent elements) of object toto whose centroid lies within the volume v1 and outside surface s1 (at the initial time).

If smooth refinement of the mesh is desired, in addition to the splitting specified, use can be made of the OPTI ADAP RCON optional directive.

Note the difference between prescribing, say, initial velocities by means of the INIT VITE directive or by means of the INIT ADAP ROUT directive. The INIT VITE directive can only prescribe velocity values for the base mesh nodes. If the mesh is then split by means of the INIT ADAP SPLI directive, the velocity values in the descendent nodes are linearly interpolated starting from those at the base nodes. On the contrary, the INIT ADAP ROUT directive applies the desired initialization to the adapted mesh, i.e. to both the base and the descendent nodes in the same way. No interpolation is done in this case, and therefore the prescription of, say, initial velocities is more precise than in the other case if the initial velocity field is non-linear.

An example of use of the IMAT sub-directive is as follows. Assume one wants to simulate the explosion of a solid charge. The bomb domain needs to be discretized very finely in the first steps of the calculation, until the solid charge has detonated and the pressure waves start to expand. Thereafter, the mesh should be un-refined to recover CPU efficiency (large time increment). The initial mesh refinement of the bomb region can be specified by the WAVE directive, until a certain time T1 (see page B.200). The region is discretized coarsely (base mesh) and the refinement is done at step 0 by the WAVE directive. In the MATE directive, air material (via e.g. JWLS) is assigned to the whole fluid coarse mesh, including the bomb. Then when WAVE refines the mesh, the air material is automatically propagated to all descendent elements. By using the IMAT sub-directive it is then possible to (re-)assign an initial solid explosive material to the effective (fine-meshed) bomb region, while (fine) elements outside the bomb remain with the air material inherited from the base mesh. It is not possible to do this fine-tuning by the MATE directive because, when MATE is read, mesh refinement has not taken place yet.

Another example of use of the IMAT sub-directive is the case of a tank with a curved geometry filled with air at higher pressure than the atmosphere. We want to use a regular fluid mesh with the structure immersed in it and to adaptively refine the fluid mesh near the tank walls by means of the FLSR ADAP or FLSW ADAP directives. The IMAT technique may be used to assign high pressure only to the active fluid elements (parents and descendents) which are strictly contained within the curved tank.

Finally, as a practical example of using the TIME (or NPAS) parameter, consider the case that we want to set the conditions of a gas contained in a tank, but only for the gas elements that are located between two moving and deforming membranes. The gas is modelled in Eulerian so the gas elements that satisfy the above condition are not constant in time, but depend upon the motion of the (Lagrangian) membranes. Assume that the membrane (surfacic) elements are consistently oriented, and that the second membrane is located in the positive (or “external”) half-space of the first membrane while the first membrane is located in the negative (or “internal”) half space of the second membrane.

The positive half-space with respect to a surface is the one to which the (oriented) normal to the surface is pointing to, as indicated by the vectors n1 and n2 in the sketch below:

|                   |
this      |         this      |        this
gas is    |         gas       |        gas
not       |--> n1   is        |--> n2  is not
affected  |         affected  |        affectd
|                   |
|                   |
mem1                mem2

Then, one would specify two conditions: the gas element must be “outside” with respect to the first membrane and “inside” the second membrane:

INIT DELA TIME 1.E-3
IMAT 1 MATE 2 OBJE LECT gas TERM
OUTS SURF LECT mem1 TERM
INSI SURF LECT mem2 TERM

This would (re-)set the conditions of the (Eulerian) gas that happens to be contained between the two (moving) membranes at time 1.E-3 to the state specified by material number 2 in the input data file.

The algorithm used to decide whether a given point P lies “inside” or “outside” the surface S is as follows:

1. Find the element s of S closest to P, by considering the distance between P and the centroid G of s.
2. Let n be the (unit or not) outside normal to s.
3. If GP·n>0, then P is outside S, else P is inside S.

9.3.25  MATERIAL RE-INITIALIZATION WITHOUT ADAPTIVITY

E.231

Object:

This directive allows to re-initialize material properties within a chosen volume or surface. Its syntax is identical to the INIT ADAP IMAT directive described on page E.230, but it applies to non-adaptive calculations (although the usefulness of such a directive in non-adaptive cases is perhaps marginal).

For example, it can be used instead of normal material assignment by the MATE directive when the mesh zone to which the material belongs has a weird shape that has not been identified as a named geometrical object in the mesh generator, nor can it be simply defined in EPX itself by means of the COMP GROU diretive. In such cases, an auxiliary (fake) mesh OBJE (see below) may be defined in the mesh generator and used to define the domain in which material initialization should occur.

Syntax:

IMAT <TIME t> <NPAS n>
nimat*(MATE mat OBJE /LECT/ ( \$ INSI ; OUTS \$
\$ SURF ; VOLU \$ /LECT/) )

For the description of the various parameters, see the INIT ADAP IMAT directive described on Page E.230.

Comments:

An example of use of the IMAT sub-directive is the case of a tank with a curved geometry (a surface) filled with air at higher pressure than the atmosphere. We want to use a regular fluid mesh with the structure (meshed by shells) immersed in it. The IMAT technique may be used to assign high pressure only to the fluid elements which are strictly contained within the curved tank surface.

9.3.26  SKIPPING ELEMENTS

E.232

Object:

This directive allows to completely skip from the calculation the elements defined by the command. The skipping can occur from a certain time and/or up to a certain time.

A special form of the command (VFCC) is available if one wants to skip all VFCC “elements” (Cell-Centred Finite Volumes). In fact, choosing just part (or all) of the VFCCs present in a calculation with the normal command (/LECT/) would not work since most VFCC calculations involve interfaces between elements (volumes) and not the elements (volumes) themselves.

Syntax:

SKIP  ( <UPTO upto> <FROM from> \$ /LECT/ ; VFCC \$ )

UPTO upto

Time at which skipping of the elements defined next has to cease. By default, skipping never ceases (upto=∞).
FROM from

Time at which skipping of the elements defined next has to begin. By default, skipping begins from the initial time (from=−∞).
/LECT/

List of concerned elements.
VFCC

Select all VFCCs present in the calculation.

Comments:

Skipping an element has the same effect as if the element would (temporarily) have the phantom (FANT) material. The element is not computed, and this allows to save CPU time.

This is different from the effect of the NOCR option, whereby the element is computed, but it does not contribute to the definition of the critical time step.

9.3.27  INITIAL CONDITIONS BY READING MAP FILE (BLAST LOADING)

E.240

Object:

This directive allows to read the results of a previous blast simulation (1D, 2D or 3D) and map it to the recent mesh. The centre of the mapping can be defined (POS). Until know only mapping from 1D to 3D is possible.

The file can be written by the ECRI MAPB command (see 11.7).

Syntax:

MAPB 'file.map'
| SPHE POS x y z <TARR>;
<ADAP nada > /LECT/ |

file.map

Name of the file, where the previous blast simulation is stored.
x, y, z

Position (x, y, z) where the blast map should be mapped.
TARR

The time that is used for the calculation until the mapping file is written is used as initial time. This value will be overwritten by TINI in CALC.
nada

Introduces the adaptivity for mapping. In that case, the mapping is performed, and immediately after, the mesh is adapted. In order to get better mapping results, the mapping is performed again. The variable nada gives the number of iterations that should be taken in order to reach the best results. For the adaptivity, the correct dimensioning must be defined (GBA_0062) and an adaptivity procedure must be defined (GBB_0210).
/LECT/

List of elements where the pressure is applied.

Comments:

The results of a 1D blast simulation can be written by using the mapb operator as part of ECRI (see GBG_0070).

At this time only mapping from 1D (TUBE or TUVF) into the material GAZP are possible. The use of volume centred finite volumes is recommend since the results are more accurate.

9.3.28  INITIAL DAMAGE FOR GRADIENT DAMAGE MATERIALS

E.250

Object:

This directive defines initial damage values for gradient damage materials ENGR, see 7.7.20. This initial condition introduces an a priori state of the damage field. Because of the irreversibility condition, setting the value of 1 to a selection of nodes amounts to model an initial crack in the structure.

Syntax:
"ENGR" ( alpha0 /LECTURE/ )

alpha0

Prescribed initial damage value 0≤α0≤ 1, knowing that 0 corresponds to an undamaged state and 1 to the crack.
LECTURE

List of the nodes concerned.