Links From User Manuals Telemac-2D
Links From User Manuals Telemac-2D
Introduction
The TELEMAC-2D code solves depth-averaged free surface flow equations as derived first by Barré de
Saint-Venant in 1871. The main results at each node of the computational mesh are the depth of
water and the depth-averaged velocity components. The main application of TELEMAC-2D is in
free-surface maritime or river hydraulics and the program is able to take into account the following
phenomena:
The code has many fields of application. In the maritime sphere, particular mention may be made of
the sizing of port structures, the study of the effects of building submersible dikes or dredging, the
impact of waste discharged from a coastal outfall or the study of thermal plumes. In river applications,
mention may also be made of studies relating to the impact of construction works (bridges, weirs,
groynes), dam breaks, flooding or the transport of decaying or non-decaying tracers. TELEMAC-2D has
also been used for a number of special applications, such as the bursting of industrial reservoirs,
avalanches falling into a reservoir, etc.
TELEMAC-2D was developed by the National Hydraulics and Environment Laboratory (Laboratoire
National d’Hydraulique et Environnement - LNHE) of the Research and Development Directorate of
the French Electricity Board (EDF-R&D), in collaboration with other research institutes. Like previous
versions of the program, version 6.2 complies with EDF’s Quality Assurance procedures for scientific
and technical programs. This sets out rules for developing and checking product quality at all stages.
In particular, a program covered by Quality Assurance procedures is accompanied by a Validation
Document that describes the field of use of the code and a set of test cases. This document can be
used to determine the performance and limitations of the software and define its field of application.
The test cases are also used for developing the software and are checked each time new versions are
produced.
Users may wish to program particular functions of a simulation module that are not provided for in the
standard version of the TELEMAC system. This can be done in particular by modifying specific
subroutines called user subroutines. These subroutines offer an implementation that can be modified
(provided that the user has a minimum knowledge of Fortran and with the help of the guide for
programming in the TELEMAC-MASCARET system). The following procedure should be followed:
● Recover the standard version of the subroutine provided with the system, and copy it into the
working directory.
● Modify the subroutines according to the model you wish to build.
● Link up the set of subroutines into a single FORTRAN file that will be compiled during the
TELEMAC-2D start procedure.
During this programming phase, users must access the various software variables. By using the
structures of FORTRAN 90 gathered into a “module” type component, access is possible from any
subroutine.
The set of data structures is gathered in FORTRAN files referred to as modules. In the case of
TELEMAC-2D, the file is called DECLARATION_TELEMAC2D and is provided with the software. To
access TELEMAC-2D data, simply insert the command USE DECLARATIONS_TELEMAC2D at the
beginning of the subroutine. It is also necessary to add the command USE BIEF.
Almost all the arrays used by TELEMAC-2D are declared in the form of a structure with pointers. For
example, access to the water depth variable is in the form H%R where the %R indicates that a pointer
of real type is being used. If the pointer is of integer type, the %R is replaced by a %I. However, to
avoid having to handle too many %R and %I, a number of aliases have been defined, such as for
example the variables NPOIN, NELEM, NELMAX and NPTFR.
Theoretical Aspects
The TELEMAC-2D code solves the following four hydrodynamic equations simultaneously:
Continuity Equation:
in which:
The equations are given here in Cartesian coordinates. They can also be
processed using spherical coordinates.
and (m/s2) are source terms representing the wind, Coriolis force,
bottom friction, a source or a sink of momentum within the domain. The
different terms of these equations are processed in one or more steps (in the
case of advection by the method of characteristics):
● advection of h, u, v and T,
● propagation, diffusion and source terms of the dynamic equations,
● diffusion and source terms of the tracer transport equation.
Any of these steps can be skipped, and in this case different equations are
solved. In addition, each of the variables h, u, v and T may be advected
separately. In this way it is possible, for example, to solve a tracer advection
and diffusion equation using a fixed advecting velocity field.
The right-hand side terms of these equations represent the production and
destruction of turbulent quantities (energy and dissipation).
Some others files are also required when coupling TELEMAC-2D with the
water quality software DELWAQ.
The binary files managed inside the TELEMAC system can have various
formats. The most commonly used format is the Serafin format (also called
Selafin), the TELEMAC system internal standard format (described in
appendix 3). This Serafin format can be configured in order to store real data
as single or double precision. The other possible format is the MED format
which is compatible with the Salomé platform developed by EDF and CEA. In
the actual version of TELEMAC-2D, this MED format has to be considered
only for internal use at EDF.
Depending of the selected format, the binary file can be read by different
tools. But in actual version, only single precision Serafin format can be read
by the postprocessing tools like RUBENS, FUDAA-PREPRO or BLUEKENUE.
'SERAFIN' means the single precision Serafin format and is the default (and
recommended) value (do not forget the space at the end), 'SERAFIND' is the
double precision Serafin format which can be used for more accurate
“computation continued” of more accurate validation, and 'MED' means the
MED hdf5 format (EDF internal use only).
The files
The steering file
The dictionary file and steering file are read by a utility called DAMOCLES,
which is included in TELEMAC-2D. Because of this, when the steering file is
being created, it is necessary to comply with the rules of syntax used in
DAMOCLES. They are briefly described below.
● Command &FIN indicates the end of the file (even if the file is not finished).
This means that certain keywords can be deactivated simply by placing
them behind this command in order to reactivate them easily later on.
However, the computation continues.
● Command &ETA prints the list of keywords and the value that is assigned
to them when DAMOCLES encounters the command. This will be displayed
at the beginning of the listing printout.
● Command &LIS prints the list of keywords. This will be displayed at the
beginning of the listing printout.
● Command &IND prints a detailed list of keywords. This will be displayed at
the beginning of the listing printout.
● Command &STO stops the program and the computation is interrupted.
This file contains all the information concerning the mesh, i.e. the number of
mesh points (NPOIN variable), the number of elements (NELEM variable), the
number of nodes per element (NDP variable), arrays X and Y containing the
coordinates of all the nodes and array IKLE containing the connectivity table.
This file can also contain bottom topography information and/or friction
coefficient at each mesh point.
The name of this file is given with the keyword: GEOMETRY FILE.
The format of this file is given by the keyword GEOMETRY FILE FORMAT.
The file name is given with the keyword: BOUNDARY CONDITIONS FILE.
Since version 5.0 of the software (the first version to be written in FORTRAN
90), this file has become optional, as TELEMAC-2D uses a dynamic memory
allocation process and it is therefore no longer necessary to set the size of
the various arrays in the memory.
The FORTRAN file contains all the TELEMAC-2D subroutines modified by the
user and those that have been specially developed for the computation.
This file is compiled and linked so as to generate the executable program for
the simulation.
The name of this file is given with the keyword: FORTRAN FILE.
This text file enables the user to specify values for time-dependent boundary
conditions (tracer flow rate, depth, velocity, and tracers concentration).
The file name is specified with the keyword: LIQUID BOUNDARIES FILE
This text file enables the user to specify values for time-dependent
conditions for sources (discharge, tracers concentration).
This text file enables the user to configure the bottom friction (used law and
associated friction coefficient) in the domain. These information car vary
from one zone to another.
The file name is specified with the keyword: FRICTION DATA FILE but is used
only if the logical keyword FRICTION DATA is activated.
This text file enables the user to configure the evolution of the prescribed
value on specific open boundaries. This file is used when the prescribed
elevation is determined by a elevation/discharge elevation law. The
descriptions of the appropriate laws are given through this file.
The file name is specified with the keyword: STAGE-DISCHARGE CURVES FILE
This text file enables the user to configure the control sections used during
the simulation.
The file name is specified with the keyword: SECTIONS INPUT FILE
When a calculation is being validated, this file contains the reference result.
At the end of the calculation, the result of the simulation is compared to the
last time step stored in this file. The result of the comparison is given in the
control printout in the form of a maximum difference in depth and the two
velocity components.
The name of this file is given with the keyword: REFERENCE FILE and its
format is specified by REFERENCE FILE FORMAT.
The name of this file is given with the keyword: RESULTS FILE and its format
is given with RESULTS FILE FORMAT
LISTING PRINTOUT PERIOD : this fixes the period between time step editions.
The value is given in numbers of time steps. For example, the following
sequence:
LISTING PRINTOUT: this cancels the listing printout if the value is NO (the
listing printout then only contains the program heading and normal end
indication). However, this is not advisable in any circumstances.
One or two binary data files, specified by the keywords BINARY DATA FILE 1
and BINARY DATA FILE 2 . These files can be used to provide data to the
program, with the user of course managing reading within the FORTRAN
program (logical units 24 and 25).
A binary results file specified by the keyword BINARY RESULTS FILE. This file
can be used to store additional results (for example the trajectories followed
by floats when these are required). Write operations on the file are managed
by the user in the FORTRAN program (logical unit 28).
This file contains all information on the keywords (name in French, name in
English, default values, type, documentation on keywords. This file can be
consulted by the user but must under no circumstances be modified.
columns X,Y,Z. The SINUSX format is described in the RUBENS user manual.
Or using the CORFON subroutine (see section 11.1). This is usually used for
schematic test cases.
Hydrodynamic Simulation
The purpose of the initial conditions is to describe the state of the model at
the start of the simulation.
In other cases, the initial state must be defined by the user. This can be
done using keywords in simple cases, or by programming in more complex
ones.
If the user wants to store the initial state in the results file, the keyword
OUTPUT OF INITIAL CONDITIONS must be activated (default value)
In all cases, the nature of the initial conditions is fixed with the keyword
INITIAL CONDITIONS. This may have any of the following five values:
● ‘ZERO DEPTH’: All water depths are initialised with a zero value (free
surface
same as bottom). In other words, the entire domain is dry at the start of the
computation.
● 'CONSTANT DEPTH’: This initialises the water depths at the value supplied
by
(see section 4.1.2). This solution must be used whenever the initial
conditions of the model do not correspond to one of the four cases above.
The user is entirely free to fill this subroutine. For example, he can re-read
information in a formatted or binary file using the keywords FORMATTED
DATA FILE or BINARY DATA FILE offered by TELEMAC-2D.
Continuing a computation
TELEMAC-2D enables the user to carry out a computation taking the last
time step of a previous computation on the same mesh as initial state. It is
thus possible to modify the computation data, such as, for example, the time
step, certain boundary conditions or the turbulence model, or to start the
computation once a steady regime has been reached.
In this case, it is essential for the file to contain all the information required
by TELEMAC-2D, i.e. the velocities U and V, the water depth and the bottom
If certain variables are missing from the continuation file, they are then fixed
automatically at zero. However, it is possible, in this case, to provide initial
values in a standard way (e.g. using a keyword). A frequent application
involves using the result of a hydrodynamic computation to compute the
transport of a tracer. The continuation file does not normally contain any
result for the tracer. However, it is possible to provide the initial value for
this by using the keyword INITIAL VALUES OF TRACERS.
N.B.: the mesh for which the results are computed must be exactly the same
as the one to be used in continuing the computation.
Boundary conditions are given for each of the boundary points. They
concern the dependent variables of TELEMAC-2D or the values deduced from
them: water depth, the two components of velocity (or flowrate) and the
tracer. The boundary conditions of functions k and Epsilon in the turbulence
model are determined by TELEMAC-2D and are thus not required from the
user.
● The condition is constant at the boundary and variable in time. It will then
be prescribed by programming the functions Q,SL and VIT (and TR if a
tracer is used) or by the open boundaries file.
● The condition is variable in time and space. Direct programming via the
BORD subroutine is then necessary.
Boundary types may be connected in any way along a contour (for example,
there may be an open boundary with a prescribed depth followed by an
open boundary with a prescribed velocity). The only limitation is that a
boundary must consist of at least two points (a minimum of four points is
strongly advised).
Depth conditions:
Tracer conditions:
Remarks
In the case of an open boundary with an incident wave, the user must fill in
the INCIDE subroutine in order to introduce the wave characteristics (see
4.2.5). This boundary condition is such that, if a wave generated inside the
domain leaves it perpendicular to the boundary, there will be no reflection.
In other cases, reflection phenomena are possible.
The type of boundary condition during the simulation may be modified with
the PROPIN_TELEMAC2D subroutine (see 11.7).
The following values are given for each point (see also the section dedicated
to parallel processing for certain specific aspects):
LIHBOR, LIUBOR, LIVBOR, and LITBOR are the boundary type codes for each
of the variables. They are described in section 4.2.2.
TBOR (real) represents the prescribed value of the tracer when LITBOR = 5.
ATBOR and BTBOR represent the coefficients of the flow relation, written:
The coefficients ATBOR and BTBOR apply to the segment between the
boundary point considered and the next point (in a trigonometric direction
for the outer contour and in the opposite direction for the islands).
K represents initially the point number in the boundary point numbering. But
this number can also represent a node colour modified manually by the user
(it can be any integer). This number, called BOUNDARY_COLOUR, can be
used in parallelism to simplify implementation of specific cases. Without any
manual modification, this variable represents the global boundary node
number. For example a test like : IF (I.EQ.144) THEN … can be replaced by IF
(BOUNDARY_COLOUR%I(I).EQ.144) THEN which is compatible with parallel
mode.
The keywords used for prescribing boundary conditions are the following:
N.B.: the value given here is the level of the free surface, whereas the value
given in the boundary conditions file is the water depth.
For each keyword, the number of specified values must be equal to the total
number of open boundaries. If a boundary does not correspond to the
specified keyword, the value will be ignored (for example, the user can
specify 0.0 in all cases). In the examples in the introductory manual, the first
boundary (downstream) is with prescribed elevation, and the second one
(upstream) is with prescribed flowrate. It is therefore necessary to specify in
the steering file:
Values that vary in time but are constant along the open boundary in
question are prescribed by using the open boundaries file or by
programming a particular function, which may be:
Functions Q, VIT and SL are programmed in the same way. In each case, the
user has the time, the boundary rank (for determining, for example, whether
the first or second boundary with a prescribed flowrate is being processed)
and in the case of Q, information on the depth of water at the previous time
step. By default the functions prescribe the value read from the boundary
conditions file or supplied by keywords.
IF (AT.LT.1000.D0) THEN
Q = 400.D0 * AT/1000.D0
ELSE
Q = 400.D0
ENDIF
● It must contain a line beginning with T to identify the value provided in this
file. Identification is by a mnemonic identical to the name of the variables:
Q for flow rate, SL for water level, U and V for velocities and T for tracer. An
open TELEMAC-MASCARET - http://wiki.opentelemac.org/
Last update: 2014/10/10 16:01 user_manual_telemac-2d http://wiki.opentelemac.org/doku.php?id=user_manual_telemac-2d
# 2 boundaries managed
#
T Q(1) SL(2)
s m3/s m
0. 0. 135.0
25. 15. 135.2
100. 20. 136.
500. 20. 136.
Stage-discharge curve
First, it is necessary to define which boundary will use this type of condition
using the keyword STAGE-DISCHARGE CURVES which supply one integer per
liquid boundary. This integer can be:
The keyword STAGE-DISCHARGE CURVES FILE supplies the name of the text
file containing the curves. One example is presented hereafter:
63. 0.2
#
# STAGE-DISCHARGE CURVE BOUNDARY 2
#
Z(2) Q(2)
m m3/s
10. 1.
20. 2.
30. 3.
40. 4.
50. 5.
Caution: at initial conditions the discharge at exits may be nil. The initial
elevation must correspond to what is in the stage-discharge curve, otherwise
a sudden variation will be imposed. To avoid extreme situations the curve
may be limited to a range of discharges. In the example above for boundary
1 discharges below 61 m3/s will all give an elevation of 0. m, discharges
above 63 m3/s will give an elevation of 0.2 m.
This subroutine describes all the open boundaries (loop on NPTFR). For each
boundary point, it determines the type of boundary in order to prescribe the
appropriate value (velocity, elevation or flowrate). However, there is little
sense in programming BORD to prescribe a flowrate, as this value is usually
known for the entire boundary and not for each segment of it.
N.B.: The BORD subroutine also enables the tracer limit values to be
prescribed (see 8.3).
In the case of a flowrate or velocity conditions, the user can specify the
velocity profile computed by TELEMAC-2D, using the keyword VELOCITY
PROFILES. The user must supply one value for each open boundary. The
following options are available:
● 2: The values U and V are read from the boundary conditions file (UBOR
and VBOR values). In the case of a prescribed flowrate, these values are
multiplied by a constant in order to reach the prescribed flowrate.
● 3: The velocity vector is imposed normal to the boundary. Its value is read
from the boundary conditions file (UBOR value). In the case of a prescribed
flowrate this value is then multiplied by a constant in order to obtain the
appropriate flowrate.
In some cases, not all the necessary information concerning the boundary
conditions is available. This is usual for coastal domains where only the
values of the sea level on several points are known. This kind of model is
referred to as an “under-constrained” model.
This method can also be used for “over-constrained” models. In this case,
the user specifies too much information at the boundary. If the velocity
information and the level information are not consistent, too little or too
much energy is going into the model. For this, the Thompson technique
computes a new value for the velocity and performs small adjustments to
cancel the inconsistencies in the information. For this, the user can use the
keyword OPTION FOR LIQUID BOUNDARIES, which offers two values (the user
must specify 1 value for each open boundary):
● 1: strong setting
● 2: Thompson method
Taking a simplified view, it may be said that, in the case of the first option,
the values are “imposed”, in the case of the second option, the values are
“suggested”.
Note : the Thompson method is not available when running in parallel mode,
it is however expected in release 6.1.
Element Masking
When using MATISSE, the boundary condition type is prescribed during the
last step of mesh generation.
When using the other mesh generators, it is generally possible to define the
type of boundary condition during the mesh generation session, by
prescribing a colour code. Each colour code corresponds to a particular type
of boundary (wall, open boundary with prescribed velocity, etc.). The table
showing colour codes and corresponding types of boundary is given in
appendix 5.
The date and hour corresponding to the initial state of the computation are
supplied by the keywords ORIGINAL DATE OF TIME (YYYY;MM;DD) and
ORIGINAL HOUR OF TIME (HH;MM;SS). This is particularly important if the
tide generating forces are taken into account (see 6.4)
It is also possible to obtain the cumulated flow rates for each control section
by activating the logical keyword PRINTING CUMULATED FLOWRATES. In that
case, to improve the quality of results, the treatment of the control section is
done at each time step and not only at each time step concerned by a
printing on output listing.
The control sections can be managed using 2 different procedures. The first
one uses only keyword and is not valid when running in parallel mode. The
second one (new in release 6.0) is based on an external configuration file
and is compatible with the parallel mode. It is strongly recommended to use
the new procedure. The old procedure will be probably removed in a future
release.
For example, the values: 611;54 ; 651;5210 define 2 control sections. The
first one is defined between points 611 and 54, the second one between
points 651 and 5210.
The results concerning the flow rates are written by TELEMAC-2D on the
output control listing. This information is the value of the instantaneous flow
rate and the cumulated positive and negative flow rates (volume going
through the section calculated from the beginning of the simulation). The
sign is determined with the following rule: going from the beginning to the
ending point of the section, the flow is positive when going from right to left.
The user may also use the subroutine FLUXPR (Bief library) to exploit
information connected with the control sections.
The user must supply the name of the sections configuration file using the
keyword SECTIONS INPUT FILE.
In parallel mode, this file will be modified by the mesh partitioner so that it
corresponds locally to every sub-domain.
Example:
Physical Parameter
We describe hereafter the simplest case, when the friction law is the same in
all the computation domain, when it is variable in space, refer to Appendix 6
after reading this paragraph. The friction law used to model friction on the
bed is defined by the keyword LAW OF BOTTOM FRICTION. This may have
the following values:
0 : No friction
1 : Haaland's law
2 : Chézy’s law
3 : Strickler’s law
4 : Manning’s law
5 : Nikuradse law
6 : Log law of the wall (only for boundary conditions)
7 : Colebrooke-White law
Option 6 can be used only in the friction data file (see Appendix 6)
default), or a depth averaged on the test function area (value 2). The second
one is new in release 6.0 and seems to be slightly better on dam break
studies.
Non-Submerged vegetation
They will be used in the Lindner law giving the drag coefficients of the
vegetation.
Modelling turbulence
The first involves using a constant viscosity coefficient. In this case, the
coefficient represents the molecular viscosity, turbulent viscosity and
dispersion.
The third option involves using a k-Epsilon model. This is a 2D model that
solves the transport equations for k (turbulent energy) and Epsilon
(turbulent dissipation). The model equations are solved by a fractional step
method, with convection of turbulent variables being processed at the same
time as the hydrodynamic variables, and the other terms relating to the
diffusion and production/dissipation of turbulent values being processed in a
single step. Use of the k-Epsilon model also often requires a finer mesh than
the constant viscosity model and in this way increases computation time.
This latter option is the only one offering good mass conservation, but
difficulties may occur with tidal flats.
Constant Viscosity
The value of this coefficient has a definite effect on the extent and shape of
recirculation. A low value will tend to dissipate only small eddies, whereas a
high value will tend to dissipate large recirculations. The user must therefore
choose this value with care, depending on the case treated (in particular as
a function of the size of the recirculation he wishes to dissipate and the
mean angular velocity of the recirculation). It should also be noted that a
value which results in the dissipation of eddies smaller than two meshes has
virtually no effect on the computation.
The Elder model offers the possibility of specifying different viscosity values
along and across the current (Kl and Kt respectively). The formulae used are:
Where:
The two coefficients can be supplied by the user with the keyword
NONDIMENSIONAL DISPERSION COEFFICIENTS (format: Kl,Kt).
K-Epsilon model
In this case, the keyword VELOCITY DIFFUSIVITY has its real physical value
(10-6 for molecular diffusion of water), as this is used as such by the
turbulence model.
In the case of a solid boundary, the user may configure the turbulence
regime for the walls using the keyword TURBULENCE MODEL FOR SOLID
BOUNDARIES. If friction at the wall is not to be taken into account, the user
must use the value corresponding to a smooth wall (option 1). In contrast,
friction will be taken into account by using option 2 (rough wall). In this case,
the friction law used for the wall is the same as the bottom friction law
(keyword LAW OF BOTTOM FRICTION). The friction coefficient is then
supplied by the keyword ROUGHNESS COEFFICIENT OF BOUNDARIES. This
numerical value must of course be in agreement with the law chosen, in
appropriate units.
Smagorinski model
TELEMAC-2D can be used to simulate flow while taking into account the
influence of a wind blowing on the water surface. The logical keyword WIND
is used first of all for determining whether this influence is to be taken into
account and if so, the coefficient is then provided with the keyword
COEFFICIENT OF WIND INFLUENCE (see § below). Lastly, if the are constant
in time and space, wind speed in directions X and Y is supplied with the
keywords WIND VELOCITY ALONG X and WIND VELOCITY ALONG Y.
Kingdom):
If there are tidal flats or dry zones in the domain, the wind may trigger
unphysical velocities as it becomes the only driving term in the equations.
To avoid this, wind is
If the wind velocity varies in space and time, the user must indicate this in
the METEO subroutine (see below).
The following example shows a wind programmed in space and in time. For
the left part of the domain (X<1000000) the wind in direction X is fixed at 10
m/s for the first 3600 seconds, and at 5 m/s subsequently. The X and Y wind
components in the right part of the domain are nil.
IF (LT.EQ.0) THEN
DO 1 I=1,NPOIN
IF (X(I).LT.1000000.D0) THEN
IF (LT.LT.3600.D0) THEN
WINDX (1) =
10.D0
ELSE
WINDY (1) =
5.D0
ENDIF
ENDIF
1 CONTINUE
ENDIF
Astral Potential
First of all, the logical keyword TIDE GENERATING FORCE (default value NO)
allows these phenomena to be taken into account.
Lastly, the two keywords ORIGINAL DATE OF TIME (format YYYY;MM;DD) and
ORIGINAL HOUR OF TIME (format HH;MM;SS) must be used to give the
beginning time of the simulation. This information is necessary for
TELEMAC-2D to compute the respective position of the moon and the sun.
Recover the wave results file and specify its name using the keyword
BINARY DATA FILE 1.
Activate the keyword WAVE DRIVEN CURRENTS (default value NO) Complete
the keyword RECORD NUMBER IN WAVE FILE. This value corresponds to the
iteration number stored in the wave file that must be taken into account by
TELEMAC-2D. This is usually the last iteration stored.
If the user wishes to take into account several results from the wave
propagation module again (e.g. in order to consider changes in sea level),
FORTRAN programming is necessary.
Vertical structures
To handle this problem, TELEMAC-2D can include drag forces connected with
the presence of vertical structures in the model. This function is activated
with the logical keyword VERTICAL STRUCTURES .
The drag forces must then be defined in the user subroutine DRAGFO. An
example of programming is given in the subroutine itself.
When modelling large areas, it is necessary to take into account the inertia
effect of the Coriolis force. This is done by activating the logical keyword
CORIOLIS (which has the default value NO). In this case, the value of the
Coriolis coefficient (see Formulation Document) is supplied by the keyword
CORIOLIS COEFFICIENT. This must be calculated in accordance with the
latitude l by the formula:
FU = FCOR x V et FV = -FCOR x U
Parameter estimation
to determine the friction coefficient when using the Strickler or Chézy laws
(keyword LAW OF BOTTOM FRICTION with value of 2 or 3).
The algorithm for estimating this parameter is activated with the keyword
PARAMETER ESTIMATION , which provides the name of the parameter to be
determined. The user can specify ‘FRICTION’ or ‘FRICTION, STEADY’. In the
second configuration, only the last time step of the simulation is checked. In
the actual version of the software, it is strongly recommended to work only
in permanent mode.
Measurement data are supplied via the user subroutine MESURES which
contains the arguments ITER (iteration number) and TT (absolute time). The
latter argument is used in processing real measurements. Each time the
MESURES subroutine is called up, it must supply the measured water depth
(HD), the two velocity components (UD and VD), as well as the weightings
ALPHA1, ALPHA2 and ALPHA3 connected respectively with HD, UD, VD. The
weighting is 1 if a measurement is available and 0 if it is not. For example,
an ALPHA1 value of 1 for a given point means that a depth measurement is
available for that point. Similarly, an ALPHA3 of 1 for a given point means
that a velocity measurement V is available for that point. When a
measurement is available, it may be advisable to replace the value 1 by a
vector proportional to the local mesh size (see VECTOR(‘MASBAS’,…) in the
MESURES subroutine).
From the numerical point of view, the user must specify a number of
parameters:
The cost function used must be indicated with the integer keyword COST
FUNCTION which may have the value 1 (cost function based on the
difference between depths and velocities, which is the default value) or 2
(cost function based on the difference between celerity and velocities). 2
seems to be preferable, even through the effect of this parameter is slight.
The results of estimating this parameter are provided in the results file. This
is a geometry file in which the FRICTION variable has been added. The file
can thus be reused as a geometry file for a new simulation.
● SAINT-VENANT FV
● BOUSSINESQ
The first option involves solving the Saint-Venant equations using the
finite-element method. This is the “traditional” use of TELEMAC-2D.
The second option involves solving the Saint-Venant equations using the
finitevolume method. In this case, the algorithm is explicit and means that
the Courant number must be limited to 1. The variable time step option is
then automatically used. TELEMAC-2D then adjusts the calculation time step
so as to satisfy this Courant number criterion. However, it should be noted
that this leads to irregular sampling from the graphic printout file and control
listing. Lastly, it should be noted that all the options available when solving
the Saint-Venant equations using the finite-element method are not
necessarily available here.
The BOUSSINESQ option means that the equations are solved by the
Boussinesq method.
The first one is the most efficient in terms of memory and CPU time and the
third one is recommended for more accurate results (but increases
significantly the memory and CPU time). The second one is recommended
when observing free surface wiggles (in particular in case of strong
bathymetry gradient). But in that situation, the best configuration is to use
the wave equation associated with the keyword FREE SURFACE GRADIENT
COMPATIBILITY = 0.9.
Whether or not the advection terms are taken into account is determined by
the logical keyword ADVECTION (default value YES). However, even if this
keyword is positioned at YES, it is possible to deactivate certain advection
terms using the following logical keywords:
The main choice concerns the scheme used for solving the advection step.
To do this, the user must update the keyword TYPE OF ADVECTION. This
keyword is a table of four integers that are related successively to the
scheme used for advection of the velocity (U and V), depth (H), tracer and
turbulent value (k and epsilon). If the model does not include any tracer or
turbulence model, the user may simply give the first two values.
Each integer may have a value between 1 and 14, corresponding to the
following possibilities:
1: Method of characteristics.
2: Centred semi implicit scheme + SUPG.
3: Upwind explicit finite volume (referenced as 8 in previous
releases)
4: N distributive scheme, mass-conservative (new in release 6.0)
5: PSI distributive scheme, mass-conservative (new in release
6.0)
6: PSI scheme on non conservative equation (obsolete)
7: Implicit N scheme on non conservative equation (obsolete)
13: Edge by edge implementation of scheme 3 (will work on
tidal flats)
14: Edge by edge implementation of scheme 4 (will work on
tidal flats)
Schemes 3 and 4 on one hand, and 13 and 14 on the other hand, are equal
in 2 dimensions (they are not in 3D).
When using the finite volume scheme, the keyword FINITE VOLUME SCHEME
specifies the type of scheme used. The available possibilities are:
Advection of the k-Epsilon model can only be done with the method of
characteristics (fourth value of the keyword must be positioned at 1).
The default value is 1;5;1;1, which corresponds to the use of the method of
characteristics in all cases, except for the depth for which the appropriate
conservative scheme is selected by the code. Note that the value 5 in
second position does not mean “Psi distributive scheme’ but is the value
used by the previous version of TELEMAC-2D to select the conservative
scheme for depth.
The default value is kept for compatibility of old studies, but a recommended
value is : 1;5;4 or 4;5;4 when there are no dry zones, and 1;5;14 or 14;5;14
when there are tidal flats. Please note however that scheme 14 is dependent
on edge numbering and thus may provide results showing differences
between scalar and parallel mode. For dam break studies 14;5 is
recommended.
The SUPG scheme may be configured using specific keywords (see section
7.2.1).
mass-lumping (the mass matrices are diagonal) and the value 0 (default
value) corresponds to normal processing without mass-lumping.
When the SUPG method is being used, the user must fix the type of upwind
scheme required with the keyword SUPG OPTION which, like the keyword
TYPE OF ADVECTION, is a table of 4 integers relating, in order, to the
velocities, depth, tracer and k-Epsilon model.
● 0: No upwind scheme.
● 1: Upwind scheme with the classic SUPG method, i.e. upwind scheme = 1.
● 2: Upwind scheme with the modified SUPG method, i.e. upwind scheme is
equal to the Courant number.
In principle, option 2 is more accurate when the Courant number is less than
1 but must not be used for large Courant numbers. Thus, option 2 can be
used only for model for which the Courant number is very low. If the Courant
number can not be estimated, it is strongly recommended to use option 1
(which can be considered as more “universal”).
The keyword used is TREATMENT OF THE LINEAR SYSTEM. The keyword may
have the value 1 (original equations, which is the default value) or 2 (wave
equation). It is important to stress that choosing option 2 automatically
selects a number of other options: use of mass lumping on depth and
velocities, and use of explicit velocity diffusion.
When free surface wiggles are observed (for example in areas with strong
bathymetry gradient), the best solution is to use the keyword FREE SURFACE
GRADIENT COMPATIBILITY with a value lower than 1 (0.9 is recommended).
The main consequence is a slightly altered compatibility between depth and
velocity in the continuity equation but this option avoids the use of
quasi-bubble triangle discretization which is more CPU and memory
consuming.
Solver
During certain steps, the solver used for solving the systems of equations
may be selected by means of the following keywords:
SOLVER FOR K-EPSILON MODEL: for solving the turbulence model system.
Each of these keywords may have a value of between 1 and 7. These values
correspond to the following possibilities, and are all related to the conjugate
gradient method:
If the GMRES method is used, the dimension of the Krylov space must be
specified with the appropriate keyword, i.e.:
Accuracy
The user may obtain information on the solvers by activating the keywords
INFORMATION ABOUT SOLVER and, if the k-Epsilon turbulence model is used,
INFORMATION ABOUT K-EPSILON MODEL .This information is provided in the
listing printout and may be of the following two types:
Either the process has converged before reaching the maximum permissible
number of iterations, and in this case TELEMAC-2D provides the number of
iterations actually run and the accuracy achieved.
Continuity correction
Residual mass errors (of the order of a few percent) may appear when using
boundary conditions with imposed depth (case of a river downstream).
Indeed the continuity equation is not solved for these points and is replaced
by the equation depth = imposed value. Therefore, the resultant discharge
is not properly computed and leads to error. The keyword CONTINUITY
This correction is quite time-consuming and should be used only if the outlet
discharge needs to be known precisely (in the case of calibration for
example).
Preconditionning
● 0: No preconditioning.
● 0: No preconditioning.
● 0: No preconditioning.
The same process may be used for the velocity by using the keyword INITIAL
GUESS FOR U. The possibilities are the same as before, but apply to U (or V)
and not to the increase of U (or V).
C-U Preconditionning
During a model simulation, the Courant number value (number of grid cells
crossed by a water particle during a time step) considerably influences the
quality of the results. Irrespective of numerical schemes with a stability
condition on the Courant number, experience shows that result quality
decreases if the Courant number is above 7 or 8. Yet it is not so easy to
estimate the value of the Courant number - especially in sea models with a
large tidal range. To help, TELEMAC-2D allows the user to check the Courant
number during computation: the software automatically executes
intermediate time steps so that the Courant number keeps below a given
value.
This function is activated using the keyword VARIABLE TIME STEPS (Default
value NO) and the maximum Courant number value can be specified using
open TELEMAC-MASCARET - http://wiki.opentelemac.org/
Last update: 2014/10/10 16:01 user_manual_telemac-2d http://wiki.opentelemac.org/doku.php?id=user_manual_telemac-2d
It should be stressed that when a variable time step is used, sampling from
the results file and control listing is no longer regular in time, as it depends
directly on the time step value.
Tidal Flats
First of all, if the user is sure that the model will contain no tidal flats
throughout the simulation, these may be deactivated by assigning NO to the
keyword TIDAL FLATS (the default value is YES). This may mean that
computational time can be saved.
Tidal flats can be processed in three different ways and several possibilities
are offered concerning the treatment of negative depths.
In the first case, the tidal flats are detected and the free surface gradient is
corrected.
In the second case, the tidal flat areas are removed from the computation.
Exposed elements still form part of the mesh but any contributions they
make to the computations are cancelled by a so-called “masking” table. The
data structure and the computations are thus formally the same to within
the value of the masking coefficient. However, in this case,
mass-conservation may be slightly altered.
In the third case, processing is done in the same way as in the first case, but
a porosity term is added to half-dry elements. Consequently, the quantity of
water is changed and is no longer equal to the depth integral over the entire
domain but to the depth integral multiplied by the porosity. The user can
modify the porosity value determined by the processing in the CORPOR
subroutine.
The type of processing is chosen with the keyword OPTION FOR THE
TREATMENT OF TIDAL FLATS which may have a value of 1 or 2, the default
value being 1.
The treatment of the negative depths can be specified using the keyword
TREATMENT OF NEGATIVE DEPTHS. Value 1 (default value) is the previously
only option consisting of smoothing the negative depths in a conservative
way. The option 2 (new in release 6.0) is a flux limitation that ensures
strictly positive depths. This must be preferably coupled with the new
advection schemes able to cope with tidal flats. Value 0 means no treatment.
In certain cases, it may be advisable to limit the lower water depth value.
The most common case involves eliminating negative values of H. To do this
the user assigns the value YES to the keyword H CLIPPING (default value
NO). The keyword MINIMUM VALUE OF DEPTH which has a default value of 0,
is used to fix the threshold below which clipping is performed. However, it
should be borne in mind that this latter option leads to an increase in the
mass of water as it eliminates negative water depths.
Other Parameters
Matrix Storage
● 1: classical method
Matrix-Vector Product
Tracers Transport
Available Possibilities
a letter T following by the number of tracer. For example ‘T1,T3’ stand for
first and third tracer. In release 6.0 It is possible to use the character * as
wildcards (replace any character). T* stand for T1 to T9, and T** stand for
T10 to T99.
N.B.: TELEMAC-2D offers the possibility of taking into account density effects
when the tracer used is the salinity expressed in kg/m3. In this case it is
necessary to position the keyword DENSITY EFFECTS at YES (default value
NO) and indicate the mean temperature of the water in degrees Celsius
using the keyword MEAN TEMPERATURE which has a default value of 20. In
that case, the first tracer must be the salinity.
If the initial value of the tracers is constant throughout the domain (for
example no tracer), it is simply a question of placing the keyword INITIAL
VALUES OF TRACERS with the required value in the steering file. The number
of supplied values must be equal to the number of declared tracers
The type of boundary condition will be given by the value of LITBOR in the
boundary conditions file (see sections 4.2.2 and 4.2.3).
If the value is constant along the boundary and in time, it is provided in the
steering file by the keyword PRESCRIBED TRACERS VALUES . This is a table
of real numbers for managing several boundaries and several tracers (100 at
most). The numbering principle is the same as that used for the
hydrodynamic boundary conditions. The values specified by the keyword
cancel the values read from the boundary conditions file. The order of this
table is: first tracer at the first open boundary, first tracer at the second
open boundary, ….., second tracer at the first open boundary, second tracer
at the second open boundary… .
If the value is constant in time but varies along the boundary, it will be given
directly by the variable TBOR from the boundary conditions file.
If the value is constant along the boundary but varies in time, the user must
specify this with the function TR or open boundaries file. Programming is
done in the same way as for the functions VIT, Q and SL (see 4.2.5).
If the variable is time- and space-dependent, the user must specify this
directly in the BORD subroutine, in the part concerning the tracer (see
4.2.7).
The user positions the various sources with the keywords ABSCISSAE OF
SOURCES and ORDINATES OF SOURCES. These are tables of real numbers,
giving the source coordinates in metres. In fact, TELEMAC-2D will position a
source at the closest mesh point to that specified by these keywords. The
program itself will determine the number of sources as a function of the
number of values given to each keyword.
At each source, the user must indicate the discharge and the value of the
tracer. The discharge is specified in m3/s using the keyword WATER
DISCHARGE OF SOURCES and the value of the tracer by the keyword
VALUES OF THE TRACERS AT THE SOURCES. However, if these two variables
are timedependent, the user can then program the two functions DEBSCE
(source discharge) and TRSCE (value of tracer at source). It is also possible
to use a specific file to define the time evolution of the sources: the source
file (keyword SOURCES FILE). This file has exactly the same structure as the
one of the liquid boundary file. An example is presented here with 2 sources
and 2 tracers. Between 2 given times, the values are obtained by linear
interpolation.
#
# TIME-DEPENDENT DISCHARGES AND TRACERS AT SOURCES 1
AND 2
#
# T IS TIME
#
# Q(1) IS DISCHARGE AT SOURCE 1
# Q(2) IS DISCHARGE AT SOURCE 2
#
# TR(1) IS TRACER 1 AT SOURCE 1
# TR(2) IS TRACER 2 AT SOURCE 1
# TR(3) IS TRACER 1 AT SOURCE 2
# TR(4) IS TRACER 2 AT SOURCE 2
#
# GENERAL FORMULA FOR TRACERS : TR(I) FOR
# I=RANK OF TRACER + NUMBER OF TRACERS * (RANK OF
SOURCE - 1)
#
T Q(1) TR(1) TR(2) Q(2) TR(3) TR(4)
s m3/s °C °C m3/s °C °C
0. 0. 99. 20. 0. 30. 40.
2. 1. 50. 20. 2. 30. 20.
4. 2. 25. 80. 4. 30. 20.
If source terms are to be taken into account for the creation or decay of the
tracer, these must be introduced in the DIFSOU subroutine.
Numerical Specifications
The way of treating advection is specified in the third value of the keyword
TYPE OF ADVECTION. The possibilities are the same as for velocity.
The user can also use the real keyword IMPLICITATION COEFFICIENT OF
TRACERS (default value 0.6) in order to configure the implicitation values in
the cases of semi-implicit schemes.
When solving the tracer transport equations, the user can choose whether or
not to take into account diffusion phenomena, using the logical word
DIFFUSION OF TRACERS (default value YES).
As for velocity diffusion, the user can configure the type of solution he
requires for the diffusion term. To do this, he should use the real keyword
OPTION FOR THE DIFFUSION OF TRACERS with the following values:
Drogue Displacement
In order to use drogues, the user must program the steering file and BORD
subroutine, which must be inserted in the FORTRAN file.
Three types of information must be indicated in the steering file. First of all,
the user must indicate the number of drogues using the keyword NUMBER
OF DROGUES which has the default value 0. Secondly, the user must provide
the number of the file in which TELEMAC-2D is to store the successive
positions of the drogues. To do this, he uses the keyword BINARY RESULTS
FILE (it is thus impossible, during the same simulation, to use drogues and
store the results in a binary file other than the standard results file). Finally,
the user can configure the printout period using the keyword PRINTOUT
PERIOD FOR DROGUES (default value 1).This value is expressed in number
of time steps, and is completely independent of the printout period for other
results from TELEMAC-2D.
After inserting the FLOT subroutine in the FORTRAN file, the user must
modify it in order to indicate the release time step and end-of-monitoring
time step for each drogue, together with the coordinates of the release point.
By default, the drogues are all released at the start of the simulation and the
end-of-monitoring time corresponds to the end of the simulation. If the
release point coordinates are outside the domain, the run is interrupted and
an error message displayed. In addition, if a drogue leaves the domain
during the simulation, it is of course no longer monitored but its previous
track remains in the results file for consultation.
The following example shows how the steering file and FLOT subroutine are
programmed in the case of two drogues released at different times:
NUMBER OF DROGUES = 2
BINARY RESULTS FILE = './drogues'
DEBFLO(1) = 1
DEBFLO(2) = 100
FINFLO(1) = 400
FINFLO(2) = NIT
XFLOT(1,1) = 321.
XFLOT(1,2) = 351.
YFLOT(1,1) = 37.
YFLOT(1,2) = 95.
The first drogue is released at the start of the simulation up to the 400th
time step. The second drogue is released at the 100th time step up to the
end of the simulation.
The coordinates of the two drogues are specified at the moment of release.
Exploitation of Results
The results are stored in the binary file during the simulation. This file is in
Serafin standard, and can thus be read using RUBENS.
The positions are displayed using a “mesh” type graph. Each position is
shown in the form of a node. The successive positions of the drogue are
identified by the node numbering system. Nodes are numbered in the
following way: at the beginning of the file, all positions of drogue 1, then all
positions of drogue 2, etc.
For example, if a simulation is run for 10 time steps with 3 drogues, the
following numbering will be obtained:
Lagrangian Drifts
In the steering file, the user must firstly provide the number of drifts
required using the keyword NUMBER OF LAGRANGIAN DRIFTS (default value
0). This value corresponds to the number of pairs (starting and ending times)
for which the Lagrangian drifts are computed. Secondly, the user must
include the letters A and G in the list assigned to the keyword VARIABLES
FOR GRAPHIC PRINTOUTS. These two letters correspond to the drift
displacements along X and Y.
As far as the FORTRAN file is concerned, the user must insert the LAGRAN
subroutine, in which it is necessary to define the instants at which each
computation is to start and end, in the form of time step numbers.
The drift computation results are stored directly in the TELEMAC-2D results
file in the form of two scalar variables entitled DRIFT_ALONG_X and
DRIFT_ALONG_Y. Given the possible discretization that may occur in printing
out graphical results, the rule for introduction in the results file is the
following:
Otherwise, the two variables contain the results of the most recently
completed drift computation.
This means on the one hand that two drifts may not be completed at the
same time step, and on the other hand that between two ends of drift
computations, a record must be made in the results file (otherwise the result
of the first computation is lost).
The following example (steering file and FORTRAN file) carries out two drift
computations. The first begins at time step 10 and finishes at time step 50.
The second begins at time step 15 and finishes at time step 40.
DEBLAG(1) = 10
FINLAG(1) = 50
DEBLAG(2) = 15
FINLAG(2) = 40
Weirs
A weir must be prepared in the mesh and consists of two boundary lines
which are actually linked by the weir. In principle, these boundaries should
be sufficiently far apart, upstream and downstream of the weir. The
upstream and downstream boundary points should correspond 1 to 1, and
the distance between two points should be the same on both sides. The
following file gives an example of two weirs (the comments are part of the
file):
Line 2 indicates the number of weirs and then an option for the treatment of
tangential velocities on the weir, with the following meanings:
1: the velocities will be calculated with the Chézy formula (as a function of
the local free surface inclination)
For each weir, it is then necessary to indicate: the number of points for the
first side of the weir (line 5 for the first weir) and the list of their numbers in
the boundary conditions file (line 7 for the first weir), following the
numbering used in that file.
The numbers of their twin points on the second side should be given on line
9 in the reverse order. On line 11, the level of the weir is specified for each
couple of points and at line 13 the discharge coefficient noted μ. All this data
is repeated for all weirs.
The formulae used to calculate the discharge for each point are the following:
Unsubmerged weir:
Submerged weir:
If the user want to modify the different laws, it is possible to modify the
appropriate subroutines (LOIDEN.f and LOINOY.f)
Culverts
And possibly:
0.2 —– 1
I1 I2 d1 d2 CE1 CE2 CS1 CS2 S12 L12 z1 z2 a1 a2
1 2 0. 90. 0.5 0.5 1.0 1.0 20. 0.2 0.3 0.1 0. 90.
The culvert discharge is given by the following formula (with flow going from
1 to 2):
S12 is the cross-section of the pipe. CS1 and CS2 are the head loss
coefficients of 1 and 2 when they are operating as outlets. CE1 and CE2 are
the head loss coefficients of 1 and 2 when they are operating as inlets. L12
is the linear head loss coefficient, generally equal to where L is the
length of the pipe, D its diameter and the friction coefficient.
a1 and a2 are the angles that the pipe makes with respect to the bottom, in
degrees. For a vertical intake, the angle with the bottom will therefore be
90°.
d1 and d2 are the angles with respect to the x axis. They are used when
allowing for the current direction at source or sink point (in cases where the
keywords VELOCITIES OF THE SOURCES ALONG X (and Y) are given).
Other Configuration
It is also possible to specify the coordinates of the origin point of the mesh.
This is done using the keyword ORIGIN COORDINATES which specify 2
integers. These 2 integers will be transmitted to the results file in the Serafin
format, for a use by post-processors for superimposition of results with
digital maps (coordinates in meshes may be reduced to avoid large real
numbers). These 2 integers may also be used in subroutines under the
names I_ORIG and J_ORIG. Otherwise they are not yet used.
It is also necessary to indicate the angle between the geographic north and
the Yaxis of the model. This information is provided with the keyword NORTH.
This gives the angle (in degrees) between the north and Y-axis, expressed
positively in the trigonometric direction (the default value of the keyword is
0).
In its present version, TELEMAC-2D assumes that the mesh coordinates are
open TELEMAC-MASCARET - http://wiki.opentelemac.org/
Last update: 2014/10/10 16:01 user_manual_telemac-2d http://wiki.opentelemac.org/doku.php?id=user_manual_telemac-2d
In the software data structure, these four variables correspond to the tables
PRIVE%ADR(1)%P%R(X), PRIVE%ADR(2)%P%R(X) PRIVE%ADR(3)%P%R(X) et
PRIVE%ADR(4)%P%R(X) (in which X is the number of points in the mesh).
These may be used in several places in the programming, like all TELEMAC
variables. For example, they may be used in the subroutines CORRXY,
CORSTR, BORD, etc. If a PRIVE table is used for programming a case, it is
essential to check the value of the keyword NUMBER OF PRIVATE ARRAYS.
This value fixes the number of tables used (0, 1, 2, 3 or more) and then
determines the amount of memory space required. The user can also access
the tables via the aliases PRIVE1, PRIVE2, PRIVE3 and PRIVE4.
DO I=1,NPOIN
PRIVE%ADR(2)%P%R(I) = 10.D0
ENDDO
order to introduce the computation of the new variable(s). The variables LEO,
SORLEO, IMP, SORIMP are also used to determine whether the variable is to
be printed in the printout file or in the results file at the time step in question.
FOR GRAPHIC PRINTOUTS. The new variables are identified by the letters N,
O, R and Z, which correspond respectively to the numbers 23, 24, 25 and 26.
A call of the type CALL FILPOL (F,C, XSOM, YSOM, NSOM, MESH, XMESH) fills
table F with the C value in the convex polygon defined by NSOM nodes
(coordinates XSOM, YSOM). The variables MESH and XMESH are needed for
the FILPOL subroutine but have no meaning for the user.
The structure of the telemac-2d software offers a point of entry for validating
a computation, in the form of a subroutine named VALIDA which has to be
filled by the user in accordance with each particular case. Validation may be
carried out either with respect to a reference file (which is therefore a file of
results from the same computation that is taken as reference, the name of
which is supplied by the keyword REFERENCE FILE), or with respect to an
analytical solution that must then be programmed entirely by the user.
When using a reference file, the keyword REFERENCE FILE FORMAT specifies
the format of this binary file (SERAFIN by default).
The VALIDA subroutine is called at each time step when the keyword
VALIDATION has the value YES, enabling a comparison to be made with the
analytical solution at each time step. By default, the VALIDA subroutine only
makes a comparison with the last time step. The results of this comparison
are given in the control listing.
Coupling
The two codes perform the calculation at the initial instant with the same
information (in particular the mesh and bottom topography).
The hydrodynamic code runs a time step and calculates the depth of water
and velocity components. It provides this information to the sediment
transport code.
The sediment transport code uses this information to run the solid transport
calculation over a time step and thus calculates a change in the bottom.
The new bottom value is then taken into account by the hydrodynamic
module at the next time step, and so on.
Only the SISYPHE module can be linked in the current version of the code.
The time step used for the two calculations is not necessarily the same and
is managed automatically by the coupling algorithms and the key-word
COUPLING PERIOD.
This function requires two keywords. The keyword COUPLING WITH indicates
which simulation code is to be linked to TELEMAC-2D. The value of this
keyword can only be INTER-SISYPHE at present, which means internal
coupling with Sisyphe (previous versions included a coupling with files). An
additional necessary key-word is the SISYPHE PARAMETER FILE. It will be
used by the perl scripts to prepare the Sisyphe computation.
Except the fact that data, e.g. the bottom and velocities, the printout periods,
are given by Telemac-2D to Sisyphe, The Sisyphe data file must enable a
standalone computation. The FORTRAN FILE of both programmes may be
used and will be compiled independently (make sure that the Sisyphe
Fortran file contains no main program).
During certain types of processing, for example a Fourier series analysis (see
11.10), it may be useful to assign a name to a point. This is easy to do by
using the two keywords LIST OF POINTS and NAMES OF POINTS. The former
provides a list of node numbers (100 max) in the general numbering system,
and the second provides the corresponding names (string of 32 characters
max).
For example, in the case of a model of the Channel, point 3489 corresponds
to the port of Saint-Malo and point 56229 to the port of Cherbourg. In this
case, the names will be assigned as follows
It is also necessary to specify the time range using the keyword TIME RANGE
FOR FOURIER ANALYSIS associated with 2 real values: the starting time in
seconds and the ending time in seconds separated by a semicolon. If this
keyword is left with its default values (0;0) the computation wills stop with
an appropriate error message.
Parallelism
The parallel version of TELEMAC-2D uses the MPI library, which must
Initially, the user must specify the number of processors used by means of
the keyword PARALLEL PROCESSORS. The keyword may have the following
values:
processors, here N (it can work also just for testing on a single processor!).
Recommendations
The purpose of this chapter is to provide the user with advice on using the
software.
Mesh
Initial Conditions
The technique most commonly used for maritime domains subject to tidal
effects is to initialise the unconfined surface with a value corresponding to
high tide and the velocities with zero, and then gradually empty the domain.
The transitional stage for reaching regular conditions is limited to a half-tide.
In the case of river domains, two techniques are often used. If the domain is
relatively small (i.e. the bed level does not vary much between upstream
and downstream, the computation can be initialised with constant elevations,
by setting the value that will be prescribed downstream of the computation
domain as initial elevation. Inflow is then gradually introduced from
upstream. This technique cannot be used if the model domain is very large,
as the initial elevation generally means that there will be a dry area
upstream of the model. In this case, it is relatively easy, in the CONDIN
subroutine, to initialise an elevation with a ramp (the value of the elevation
is proportional to the X or Y values) and to introduce the nominal inflow
progressively. Another possibility is to use the free surface initialization
implemented in FUDAA-PREPRO. This function offers the possibility to specify,
in a very easy way, a free surface slope defined by a longitudinal profile
prescribed as a set of points.
TYPE OF ADVECTION : 1 ; 5
Models with steep bottom topography gradients and tidal flats very often
pose serious difficulties (oscillations of the unconfined surface, long
computation times, etc.). In the light of experience, the configuration that
appears to be best in such cases is as follows:
faster the system converges. The user is therefore strongly advised to run
simulations over a few time steps by varying the keyword SOLVER OPTION
(and OPTION FOR THE SOLVER FOR K-EPSILON MODEL) so as to reach the
best compromise between computation time for one iteration and the
number of iterations, remembering that the more points there are in the
mesh the higher the optimum value. This optimum value generally varies
from 2 (small meshes) to 4 or 5 (large meshes). When using this solver, the
optimum value for the time step (in terms of computational time) is
generally reached when the convergence occurs with 10 to 20 iterations.
When using the wave equation, the recommended solver is the conjugate
gradient (value 1). In that case, the optimum value for the time step is
generally reached when the convergence occurs with 30 to 50 iterations.
The CORFON subroutine is used to change the bottom topography read from
the geometry file. Everything is programmed so that this change is made
only once. The list of operations is as follows:
Reading of geometry;
Modify CORFON.
Continue the computation. TELEMAC-2D will then use the new bottom
topography and as it only finds the unconfined surface in the results of the
previous computation, it will recalculate the new depth of water as being the
old unconfined surface minus the new bottom topography.
Tidal Flats
The treatment of tidal flats is a very strategic issue in flood and dam-break
flood wave computations. Over the years a number of specific procedures
have been developed in Telemac-2D to cope with this difficulty. Historically,
the basic option (TREATMENT OF THE TIDAL FLATS : 2) consisted of
removing from the computation the dry elements. This option is now
completely operational. Moreover it cannot be used in parallel computations.
With this option, the key-word “MINIMUM VALUE OF DEPTH” is used to
decide whether an element is dry or not. This option is not generally
recommended, but proved to be more stable with quasisteady flows in rivers.
● 2: “Flux control”. This treatment means that some fluxes between points
When using option 1, it is possible to fix the limit value for the smoothing
using the keyword THRESHOLD FOR NEGATIVE DEPTHS which default value
is 0.
Hereafter are general recommendations when there are tidal flats in your
domain:
avoid tidal flats every time it is possible, e.g. very steep banks can
sometimes be replaced by a vertical wall.
refine the mesh on dykes or other features that will be submerged and that
Here are the main options chosen for a quasi-steady flow (Wesel-Xanten
case originally provided by BAW):
These options are also convenient for the Malpasset dam-break computation,
and can thus be taken as a starting point for a new case. The key-word
OPTION FOR THE DIFFUSION OF VELOCITIES should normally set to 2, as it is
the correct theoretical formula, however the simplified form corresponding
to option 1 is preferred, because it avoids the problem of division by 0 on dry
zones. So far no clear test-case proved the superiority of option 2.
From:
http://wiki.opentelemac.org/ - open TELEMAC-MASCARET
Permanent link:
http://wiki.opentelemac.org/doku.php?id=user_manual_telemac-2d