The TELEMAC-MASCARET system  trunk
Functions/Subroutines
positive_depths.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine positive_depths (T1, T2, T3, T4, H, HN, MESH, FLODEL, COMPUTE_FLODEL, FLBOR, DT, UNSV2D, NPOIN, GLOSEG1, GLOSEG2, NBOR, NPTFR, SMH, YASMH, PLUIE, RAIN, OPTSOU, FLULIM, LIMPRO, HBOR, KDIR, INFO, FLOPOINT, NAMECODE, OPTION, NITMAX, DOFLULIM, FLULIMEBE, DOFLULIMEBE)
 

Function/Subroutine Documentation

◆ positive_depths()

subroutine positive_depths ( type(bief_obj), intent(inout)  T1,
type(bief_obj), intent(inout)  T2,
type(bief_obj), intent(inout)  T3,
type(bief_obj), intent(inout)  T4,
type(bief_obj), intent(inout)  H,
type(bief_obj), intent(in)  HN,
type(bief_mesh), intent(inout)  MESH,
type(bief_obj), intent(inout)  FLODEL,
logical, intent(in)  COMPUTE_FLODEL,
type(bief_obj), intent(inout)  FLBOR,
double precision, intent(in)  DT,
type(bief_obj), intent(in)  UNSV2D,
integer, intent(in)  NPOIN,
integer, dimension(*), intent(in)  GLOSEG1,
integer, dimension(*), intent(in)  GLOSEG2,
integer, dimension(nptfr), intent(in)  NBOR,
integer, intent(in)  NPTFR,
type(bief_obj), intent(in)  SMH,
logical, intent(in)  YASMH,
type(bief_obj), intent(inout)  PLUIE,
logical, intent(in)  RAIN,
integer, intent(in)  OPTSOU,
double precision, dimension(*), intent(inout)  FLULIM,
integer, dimension(nptfr), intent(in)  LIMPRO,
double precision, dimension(nptfr), intent(in)  HBOR,
integer, intent(in)  KDIR,
logical, intent(in)  INFO,
double precision, dimension(mesh%nelmax,3), intent(inout)  FLOPOINT,
character(len=24)  NAMECODE,
integer, intent(in)  OPTION,
integer, intent(in)  NITMAX,
logical, intent(in), optional  DOFLULIM,
double precision, dimension(mesh%nelmax,3), intent(inout), optional, target  FLULIMEBE,
logical, intent(in), optional  DOFLULIMEBE 
)
Parameters
[in]npoinCOMPUTE_FLODEL If yes, compute flodel here
[in]DOFLULIMOptional, if yes does array flulim
[in]DOFLULIMEBEOptional, if yes does array flulimebe
[in]DTTime step
[in,out]FLBORBoundary fluxes
[in,out]FLODELFluxes given by segment MAY BE COMPUTED HERE (SEE COMPUTE-FLODEL) OR SIMPLY GIVEN. AT THE EXIT, THE REAL FLUX TRANSMITTED IS GIVEN BACK.
[in]FLOPOINTFluxes given by points (element by element)
[out]FLULIMPer segment: percentage of flux that has not BEEN TRANSMITTED AT THE END OF THE ALGORITHM
[out]FLULIMEBEAs flulim but given per element HENCE FLULIMEBE(NELMAX,3)
[in]GLOSEG1First point of segments
[in]GLOSEG2Second point of segments
[in,out]HNew depth
[in]HBORPrescribed depths at boundaries
[in]HNOld depth
[in]INFOIf yes, printing information on listing
[in]KDIRConvention for dirichlet boundary condition
[in]LIMPROType of boundary conditions IF EQUAL TO KDIR: PRESCRIBED DEPTH.
[in,out]MESHMesh structure
[in]NAMECODEName of calling code (sisyphe, telemec2d, etc.)
[in]NBORGlobal numbers of boundary points
[in]NITMAXMaximum number of iterations
[in]NPOINNumber of points in the mesh
[in]NPTFRNumber of boundary points
[in]OPTIONOption of algorithm for edge-based advection 1: TRIANGLES, COMPATIBLE WITH ERIA 2: SEGMENTS, COMPATIBLE WITH NERD
[in]OPTSOUOption for sources 1: normal 2: dirac
[in]PLUIERain in a bief_obj, in m/s.
[in]RAINIf yes, there is rain or evaporation
[in]SMHSource terms
[in]T1Work array
[in]T2Work array
[in]T3Work array
[in]T4Work array
[in]UNSV2DInverse of integral of basis functions
[in]YASMHIf(yes) smh must be taken into account
[in]nptfrCOMPUTE_FLODEL If yes, compute flodel here
[in]DOFLULIMOptional, if yes does array flulim
[in]DOFLULIMEBEOptional, if yes does array flulimebe
[in]DTTime step
[in,out]FLBORBoundary fluxes
[in,out]FLODELFluxes given by segment MAY BE COMPUTED HERE (SEE COMPUTE-FLODEL) OR SIMPLY GIVEN. AT THE EXIT, THE REAL FLUX TRANSMITTED IS GIVEN BACK.
[in]FLOPOINTFluxes given by points (element by element)
[out]FLULIMPer segment: percentage of flux that has not BEEN TRANSMITTED AT THE END OF THE ALGORITHM
[out]FLULIMEBEAs flulim but given per element HENCE FLULIMEBE(NELMAX,3)
[in]GLOSEG1First point of segments
[in]GLOSEG2Second point of segments
[in,out]HNew depth
[in]HBORPrescribed depths at boundaries
[in]HNOld depth
[in]INFOIf yes, printing information on listing
[in]KDIRConvention for dirichlet boundary condition
[in]LIMPROType of boundary conditions IF EQUAL TO KDIR: PRESCRIBED DEPTH.
[in,out]MESHMesh structure
[in]NAMECODEName of calling code (sisyphe, telemec2d, etc.)
[in]NBORGlobal numbers of boundary points
[in]NITMAXMaximum number of iterations
[in]NPOINNumber of points in the mesh
[in]NPTFRNumber of boundary points
[in]OPTIONOption of algorithm for edge-based advection 1: TRIANGLES, COMPATIBLE WITH ERIA 2: SEGMENTS, COMPATIBLE WITH NERD
[in]OPTSOUOption for sources 1: normal 2: dirac
[in]PLUIERain in a bief_obj, in m/s.
[in]RAINIf yes, there is rain or evaporation
[in]SMHSource terms
[in]T1Work array
[in]T2Work array
[in]T3Work array
[in]T4Work array
[in]UNSV2DInverse of integral of basis functions
[in]YASMHIf(yes) smh must be taken into account
[in]optsouCOMPUTE_FLODEL If yes, compute flodel here
[in]DOFLULIMOptional, if yes does array flulim
[in]DOFLULIMEBEOptional, if yes does array flulimebe
[in]DTTime step
[in,out]FLBORBoundary fluxes
[in,out]FLODELFluxes given by segment MAY BE COMPUTED HERE (SEE COMPUTE-FLODEL) OR SIMPLY GIVEN. AT THE EXIT, THE REAL FLUX TRANSMITTED IS GIVEN BACK.
[in]FLOPOINTFluxes given by points (element by element)
[out]FLULIMPer segment: percentage of flux that has not BEEN TRANSMITTED AT THE END OF THE ALGORITHM
[out]FLULIMEBEAs flulim but given per element HENCE FLULIMEBE(NELMAX,3)
[in]GLOSEG1First point of segments
[in]GLOSEG2Second point of segments
[in,out]HNew depth
[in]HBORPrescribed depths at boundaries
[in]HNOld depth
[in]INFOIf yes, printing information on listing
[in]KDIRConvention for dirichlet boundary condition
[in]LIMPROType of boundary conditions IF EQUAL TO KDIR: PRESCRIBED DEPTH.
[in,out]MESHMesh structure
[in]NAMECODEName of calling code (sisyphe, telemec2d, etc.)
[in]NBORGlobal numbers of boundary points
[in]NITMAXMaximum number of iterations
[in]NPOINNumber of points in the mesh
[in]NPTFRNumber of boundary points
[in]OPTIONOption of algorithm for edge-based advection 1: TRIANGLES, COMPATIBLE WITH ERIA 2: SEGMENTS, COMPATIBLE WITH NERD
[in]OPTSOUOption for sources 1: normal 2: dirac
[in]PLUIERain in a bief_obj, in m/s.
[in]RAINIf yes, there is rain or evaporation
[in]SMHSource terms
[in]T1Work array
[in]T2Work array
[in]T3Work array
[in]T4Work array
[in]UNSV2DInverse of integral of basis functions
[in]YASMHIf(yes) smh must be taken into account
[in]kdirCOMPUTE_FLODEL If yes, compute flodel here
[in]DOFLULIMOptional, if yes does array flulim
[in]DOFLULIMEBEOptional, if yes does array flulimebe
[in]DTTime step
[in,out]FLBORBoundary fluxes
[in,out]FLODELFluxes given by segment MAY BE COMPUTED HERE (SEE COMPUTE-FLODEL) OR SIMPLY GIVEN. AT THE EXIT, THE REAL FLUX TRANSMITTED IS GIVEN BACK.
[in]FLOPOINTFluxes given by points (element by element)
[out]FLULIMPer segment: percentage of flux that has not BEEN TRANSMITTED AT THE END OF THE ALGORITHM
[out]FLULIMEBEAs flulim but given per element HENCE FLULIMEBE(NELMAX,3)
[in]GLOSEG1First point of segments
[in]GLOSEG2Second point of segments
[in,out]HNew depth
[in]HBORPrescribed depths at boundaries
[in]HNOld depth
[in]INFOIf yes, printing information on listing
[in]KDIRConvention for dirichlet boundary condition
[in]LIMPROType of boundary conditions IF EQUAL TO KDIR: PRESCRIBED DEPTH.
[in,out]MESHMesh structure
[in]NAMECODEName of calling code (sisyphe, telemec2d, etc.)
[in]NBORGlobal numbers of boundary points
[in]NITMAXMaximum number of iterations
[in]NPOINNumber of points in the mesh
[in]NPTFRNumber of boundary points
[in]OPTIONOption of algorithm for edge-based advection 1: TRIANGLES, COMPATIBLE WITH ERIA 2: SEGMENTS, COMPATIBLE WITH NERD
[in]OPTSOUOption for sources 1: normal 2: dirac
[in]PLUIERain in a bief_obj, in m/s.
[in]RAINIf yes, there is rain or evaporation
[in]SMHSource terms
[in]T1Work array
[in]T2Work array
[in]T3Work array
[in]T4Work array
[in]UNSV2DInverse of integral of basis functions
[in]YASMHIf(yes) smh must be taken into account
[in]optionCOMPUTE_FLODEL If yes, compute flodel here
[in]DOFLULIMOptional, if yes does array flulim
[in]DOFLULIMEBEOptional, if yes does array flulimebe
[in]DTTime step
[in,out]FLBORBoundary fluxes
[in,out]FLODELFluxes given by segment MAY BE COMPUTED HERE (SEE COMPUTE-FLODEL) OR SIMPLY GIVEN. AT THE EXIT, THE REAL FLUX TRANSMITTED IS GIVEN BACK.
[in]FLOPOINTFluxes given by points (element by element)
[out]FLULIMPer segment: percentage of flux that has not BEEN TRANSMITTED AT THE END OF THE ALGORITHM
[out]FLULIMEBEAs flulim but given per element HENCE FLULIMEBE(NELMAX,3)
[in]GLOSEG1First point of segments
[in]GLOSEG2Second point of segments
[in,out]HNew depth
[in]HBORPrescribed depths at boundaries
[in]HNOld depth
[in]INFOIf yes, printing information on listing
[in]KDIRConvention for dirichlet boundary condition
[in]LIMPROType of boundary conditions IF EQUAL TO KDIR: PRESCRIBED DEPTH.
[in,out]MESHMesh structure
[in]NAMECODEName of calling code (sisyphe, telemec2d, etc.)
[in]NBORGlobal numbers of boundary points
[in]NITMAXMaximum number of iterations
[in]NPOINNumber of points in the mesh
[in]NPTFRNumber of boundary points
[in]OPTIONOption of algorithm for edge-based advection 1: TRIANGLES, COMPATIBLE WITH ERIA 2: SEGMENTS, COMPATIBLE WITH NERD
[in]OPTSOUOption for sources 1: normal 2: dirac
[in]PLUIERain in a bief_obj, in m/s.
[in]RAINIf yes, there is rain or evaporation
[in]SMHSource terms
[in]T1Work array
[in]T2Work array
[in]T3Work array
[in]T4Work array
[in]UNSV2DInverse of integral of basis functions
[in]YASMHIf(yes) smh must be taken into account

Definition at line 10 of file positive_depths.f.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: