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.
E.15
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.
"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>)] )
TABANA
written by the user. See page E.25. Optionally, a list of
parameters may be passed to the routine.
The keyword FONC may appear at most once, at the beginning of the sequence relative to the functions.
If there are imposed displacements, dimension also FCOE, see page A.80.
To define a function y=f(x) by the means of couples of points.
"TABL" npts*( xi , yi )
The value of the function at time t (or at the abscissa x) is determined by a linear interpolation.
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.
"ROUT" <"PARA" n p1 p2 ... pn>
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 = 5D3
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*(TT1)) + 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 crosssection,
* 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 crosssection,
* 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 SSPROGRAMME 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.
It is strongly advised to foresee adequate error messages, like in the above example on the function number.
To define a harmonic function of the form (sum of n terms): y=C_{1}cos(ω_{1} t+φ_{1}) + C_{2}cos(ω_{2} t+φ_{2}) + ⋯, where for the ith term C_{i} 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.
HARM nhar*( VHAR C c <TYPE type> $OMEG omeg ; FREQ freq$ <$PHIR phir ; PHID phid$> ) <TMIN tmin> <TMAX tmax>
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.
To define a set of parametrised functions in the form y=f(x,p) where p is a parameter.
"ABAQ" ( "SET" ifonc "PARA" flot "TABL" npts*( ti , fi ) )
The value of the function for an abscissa t is obtained by linear interpolation.
The "PARA" sequence must appear at least twice.
Do not forget to dimension sufficiently (directives "FNOM" and "FTAB", page A.90).
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.
More information on the formulation of this model may be found in reference [131].
"INJE" "QTAB" ifon [ "MASS" ; "VOLU" ; "MCMA" ; "MCVO" ] /LECT/
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.
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.
"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" . . . >
The keyword "INIT" may appear at most once, at the beginning of the
sequence relative to the initial conditions.
This directive allows to read the initial conditions data from
an auxiliary file.
< "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".
The initial conditions concern the nodes of the mesh.
The coordinates of the original mesh are modified.
"DEPL" ( icomp xm /LECTURE/ )
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
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)
[ "VITE" ; "VITG" ] ( icomp vi /LECTURE/ ) ( "RADI" vr "CENT" /LECTURE/ "SURF" /LECTURE/ ) $[ "FILE" ifich ; "LIST" ... ]$ ( "NOEU" n vx vy <vz> )
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
To prescribe initial velocities for rigid bodies.
"VRIG" ( icomp vi /LECTURE/ )
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:
These initial conditions are relative to the cell centers of a mesh
composed of CellCentred Finite Volumes.
("VITC" "VITX" vx "VITY" vy <"VITZ" vz> /LECTURE/)
These initial conditions are relative to the cell centers of a mesh
composed of CellCentred 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.
("VFCC" "VITX" vx "VITY" vy <"VITZ" vz> "PINI" pini "RHO" rho /LECTURE/)
("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.
To prescribe initial stresses to different elements.
"CONT" ( icomp sig /LECTURE/ )
The components of the stress tensor are stored in a onedimensional
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).
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.
Direct reading: "TETA" ( ti /LECTURE/ ) Reading from a DELFINE file: "TETA" "DELFINE" ndelfine "TDELFINE" tdelfine
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).
To prescribe initial nodal temperatures for advectiondiffusion
problems. These can optionally be read from a separate dataset.
"TNOD" [ ( tnod /LECTURE/) ; "FILE" ifich ; $ "LIST" ... $
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).
"ENERGIE" ( "CV" cv "ALPHA" alpha "DEPOSE" wd /LECTURE/ )
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.
The instruction inputs a field of initial bending stresses,
generated by a temperature gradient through the thickness of
shell elements.
"GRADIENT" gradt ... ... ( $[ "ALPH" alpha ; "ALP1" alp1 "ALP2" alp2 ]$ /LECTURE/ )
The orientation the normal depends on the numbering of the nodes
of the element (see Maxwell’s corkscrew 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 / (1nu)
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).
"GRAVITE" "PTSL" xcoor ycoor < zcoor > "PSL" psl "G" gx gy < gz > < "STRUC" > "COUCH" ncouch*( "RO" rho "H" h ) ... /LECTURE/
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 . . . .
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  sodiumwater reaction 34  ADCR  confinement accident (fast neutrons) 53  ADCJ  confinement accident with JWL gas 22  EAU  twophase water (liquid + vapour) 
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 recomputed,
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.
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".
"DEBIT" "LIGN" "PENT" pent "DEBI" dmas < "GRAV" gx gy gz > "ORIG" /LECTURE/ "LIST" /LECTURE/
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  sodiumwater reaction 22  EAU  twophase water (liquid + vapour) 
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"
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.
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 rototranslational
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.
"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.
The second part of the directive is optional and defines an initial translational velocity
v_{0} to be combined with
the initial rotational velocity ω.
The VAXE form is a special syntax
that can be used when v_{0}
is directed along the axis of rotation â,
that is if v_{0}=v_{a}â,
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 v_{0} not necessarily directed
along the axis of rotation â.
If both keywords are omitted, the initial
translational velocity will be zero.
The directive is concluded by specifying the nodes of
the structure submitted to the initial rototranslational
velocity.
This directive initializes, for each node I defined
by the preceding /LECT/, a translational velocity equal to:
 = 
 × 
 + 
 = ωâ× 
 + 
 (45) 
If the VAXE form is used for the translational velocity, then this reduces to:
 = ωâ× 
 +v_{a}â (46) 
When the concerned node I has also rotational degrees of freedom,
its initial rotational velocity components are initialised as well:

 = 
 = ωâ (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 rototranslational
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.
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.
"ALICE" ndfic < "MFRO" omega > < "ECRO" > < "TEMPS" temps > < "NPAS" npas > < "POINT" noe1 noe2 > < "ELEMENT" iel1 iel2 >
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).
The instruction defines initial conditions for multicomponent
fluid flows.
"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/ $ )
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.
To prescribe initial tensor of stress to different elements.
"CQST" ( igauss sig /LECTURE/ )
The components of the stress tensor are stored in a onedimensional
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 membranebending (xx, yy, xy),
3 components that are zero and
2 components of shear (yz, xz).
To prescribe initial tensor of strain to different elements.
"CQDF" ( igauss strain /LECTURE/ )
The components of the strain tensor are stored in a onedimensional
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).
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).
"MEDL" < "CONT" > < "ECRO" > < "VCVI" > < "NITE" niter >
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 nonlinear initial status.
At least one material has a nonlinear behaviour or the initial displacements,
rotations are large.
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 nonlinear, so that the nonlinear 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.
"STAT" ifich
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
This directive allows to specify a prescribed
mass flow rate in a pipeline.
This directive may be used only in 1D.
"DMAS" dmas /LECTURE/
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:
F_{eq}=F_{int} 
Then, at every time step (including step 0) these equilibrating forces are added to the other imposed external forces:
F_{ext}=F_{ext}+F_{eq} 
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:
F_{eq}=F_{int}−F_{ext} 
and then:
F_{ext}=F_{ext}+F_{eq} 
"EQUI" $[ "FINT" ; "FTOT" ]$ </LECTURE/>
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 (hydrostaticlike) 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 subdomain
(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, fluidstructure 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.E3 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 . . .
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 stresspoints.
Every stresspoint located on the path of a crack is supposed to have failed at initial time.
"CRAK" ncrk * ( /LECTURE/ )
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 subdirectives 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 subdirective IMAT
it is possible to finetune the initial state (i.e. at
step 0) or to reinitialize (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
subdirective IMAT.
ADAP < ( SPLI LEVE leve /LECTURE/ ) > < ROUT CASE ncas > < IMAT <TIME t> <NPAS n> nimat*(MATE mat OBJE /LECT/ ( $ INSI ; OUTS $ $ SURF ; VOLU $ /LECT/) ) >
As indicated by the brackets, the SPLI subdirective 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 nonlinear.
An example of use of the IMAT subdirective 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 unrefined
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 subdirective it is then possible to
(re)assign an initial solid explosive material to the effective
(finemeshed) 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 finetuning by the MATE directive
because, when MATE is read, mesh refinement has not
taken place yet.
Another example of use of the IMAT subdirective 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”) halfspace of the first membrane
while the first membrane is located in the negative (or “internal”)
half space of the second membrane.
The positive halfspace 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.E3 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.E3 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:
This directive allows to reinitialize 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 nonadaptive calculations (although the usefulness
of such a directive in nonadaptive 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.
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.
An example of use of the IMAT subdirective 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.
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” (CellCentred 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.
SKIP ( <UPTO upto> <FROM from> $ /LECT/ ; VFCC $ )
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.
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).
MAPB 'file.map'  SPHE POS x y z <TARR>; <ADAP nada > /LECT/ 
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.
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.
"ENGR" ( alpha0 /LECTURE/ )