Focus Manuals: Programing Guide: Building matrices and vectors: Available construction of Vectors
FORMULs of SUBROUTINE VECTOR
MASMAS
FORMUL = 'MASMAS '
(subroutines with names which start with VC00)
Integrals of the bases, or product of a mass matrix by a vector with the value of 1 everywhere.
MASVEC
FORMUL = 'MASVEC '
(subroutines with names which start with VC01)
Product of a mass matrix by a vector F.
SUPG
FORMUL = 'SUPG '
(subroutines with names which start with VC03)
- is a vector with the components
G
andH
. (this would have to be modified in dimension 3). - is a vector with the components
U
,V
andW
.
VGRADP and VGRADP2
FORMUL = 'VGRADP ' or 'VGRADP2 ' (used in 3D only)
(subroutines with names which start with VC04)
- is a vector with the components
U
andV
.
VGRADP
is the same formula, with corrections when the generalised sigma transformation is used.
FLUBOR
FORMUL = 'FLUBOR '
(subroutines with names which start with VC05)
- is a vector with the components
U
,V
andW
. - is the normal outer vector.
FLUBOR2
FORMUL = 'FLUBOR2 '
In 3D only, FLUBOR2
is like FLUBOR
, but in the case of a generalised sigma
transformation.
VGRADF
FORMUL = 'VGRADF '
(subroutines with names which start with VC08)
- is a vector with the components
U
,V
andW
.
QGRADF
FORMUL = 'QGRADF '
(subroutines with names which start with VC09)
- is a vector with the components
U
,V
andW
.
FLUBDF
FORMUL = 'FLUBDF '
(subroutines with names which start with VC10)
- is a vector with the components
U
,V
andW
. - is the normal outer vector.
GGRADF
FORMUL = 'GGRADF X'
(subroutines with names which start with VC11)
Beware the minus sign !!!!
If FORMUL(16:16)
is equal to 'Y'
or 'Z'
instead of 'X'
, the derivatives will be obtained according to y or z.
GRADF
FORMUL = 'GRADF X'
(subroutines with names which start with VC13)
If FORMUL(16:16)
is equal to 'Y'
or 'Z'
instead of 'X'
, the derivatives will be obtained according to y or z.
In 3 dimensions, variants are available:
GRADF(X,Y) X
andGRADF(X,Y) Y
will consider only the gradient of a function
which does not depend on 'Z
'.
GRADF2
will take care of hydrostatic inconsistencies.
PRODF
FORMUL = 'PRODF'
(subroutines with names which start with VC14)
This vector is used in the calculation of the turbulent production with the model k-epsilon.
DIVQ
FORMUL = 'DIVQ '
(subroutines with names which start with VC15)
- is a vector with the components
U
,V
andW
.
SUPGDIVU
FORMUL = 'SUPGDIVU '
(subroutines with names which start with VC16)
- is a vector with the components
U
,V
andW
. - is a vector with the components
F
,G
andH
.
FLUDIF
FORMUL = 'FLUDIF '
(subroutines with names which start with VC17)
This is not currently used nor implemented.
VGRADF2
FORMUL = 'VGRADF2 '
(subroutines with names which start with VC18)
This is specifically for 3D computations with prisms, and unlike VGRADF
, the test function is here a 2-dimensional test function (no dependency on z). This is used by Telemac-3D in subroutine WSTARW
.
HUGRADP
FORMUL = 'HUGRADP '
(subroutines with names which start with VC19)
This is used in 2D, mostly for computing fluxes. H
in HUGRADP
stands for the depth denoted h, which can be misleading as it does not refer to the function H which is an argument of subroutine VC19AA
. A variant HUGRADP2
exists, in this case the velocity is not only of components (U,V)
, but . This is a way of treating the gradient of the free surface elevation as a piecewise constant function, which it is in reality when the depth is linear.
SUBROUTINE BY NAMES
The existing subroutines building vectors in version 6.+ are the following, their function can be deduced from the explanations above:
vc00aa.f vc00bb.f vc00cc.f vc00pp.f vc00pp2.f vc00ft.f vc00ff.f vc00tt.f vc01aa.f vc01bb.f vc01ff.f vc01ft.f vc01oo.f vc01pp.f vc01tt.f vc01tt0.f vc03aa.f vc03bb.f vc04aa.f vc04pp.f vc05oo.f vc05aa.f vc04tt.f vc05ff.f vc05ft.f vc08aa.f vc08bb.f vc08cc.f vc08pp.f vc08tt.f vc09aa.f vc10oo.f vc11aa.f vc11aa2.f vc11bb.f vc11pp.f vc11tt.f vc11tt0.f vc13aa.f vc13bb.f vc13cc.f vc13pp.f vc13pp2.f vc13tt.f vc14aa.f vc15aa.f vc16aa.f vc18pp.f vc19aa.f