So flotteurs runs successfully. However, my case
only writes a blank drogue output and I cannot determine why. The output for flotteurs is not blank. Here are the things I have determined:
To my understanding the drogues output are first written to T2DRBI. This file remains empty during the run. (I cancel the run and look at it)
The particles are input in the model and float around. To test this I added 'write(*,*) XFLOT' in the flot.f subroutine. The output is coordinates for each particle. So particles exist!
Below is my case file,
/---------------------------------------------------------------------
/ VERSION: TELEMAC2D v6p3
/---------------------------------------------------------------------
/---------------------------------------------------------------------
/ COMPUTER INFORMATION
/---------------------------------------------------------------------
TITLE = '****: Transient'
GEOMETRY FILE = 'Geometry.slf'
BOUNDARY CONDITIONS FILE = 'BC.cli'
RESULTS FILE = 'Transient_00.results'
PREVIOUS COMPUTATION FILE = 'SteadyState_00.results'
COMPUTATION CONTINUED = TRUE
LIQUID BOUNDARIES FILE = 'Hydrograph_00.liq'
/---------------------------------------------------------------------
/ GENERAL INFORMATION & OUTPUT
/---------------------------------------------------------------------
NUMBER OF TIME STEPS = 100
INITIAL TIME SET TO ZERO = TRUE
LISTING PRINTOUT PERIOD = 10
GRAPHIC PRINTOUT PERIOD = 100
VARIABLES FOR GRAPHIC PRINTOUTS = U,V,B,H,S,F
/INFORMATION ABOUT SOLVER = YES
/---------------------------------------------------------------------
/ DROGUES
/---------------------------------------------------------------------
NUMBER OF DROGUES = 10
BINARY RESULTS FILE = 'Drogues_01.results'
PRINTOUT PERIOD FOR DROGUES = 10
FORTRAN FILE = './flot.f'
/---------------------------------------------------------------------
/ BOUNDARY CONDITIONS
/---------------------------------------------------------------------
OPTION FOR LIQUID BOUNDARIES = 2;1;3;4;5;6;7
/---------------------------------------------------------------------
/ EQUATIONS
/---------------------------------------------------------------------
TURBULENCE MODEL = 3
VELOCITY DIFFUSIVITY = 1E-6
LAW OF BOTTOM FRICTION = 4
FRICTION COEFFICIENT = 0.06
BOTTOM SMOOTHINGS = 1
/---------------------------------------------------------------------
/ NUMERICAL PARAMETERS
/---------------------------------------------------------------------
TIME STEP = 1
MAXIMUM NUMBER OF ITERATIONS FOR SOLVER = 1000
SOLVER ACCURACY = 1.E-3
And here is my modification to flot.f:
! ***************
SUBROUTINE FLOT
! ***************
!
&(XFLOT,YFLOT,NFLOT,NFLOT_MAX,X,Y,IKLE,NELEM,NELMAX,NPOIN,
& TAGFLO,SHPFLO,ELTFLO,MESH,LT,NIT,AT)
!
!***********************************************************************
! TELEMAC2D V6P3 21/08/2010
!***********************************************************************
!
!brief THE USER MUST GIVE :
!+
!+
!+ 1) THE TIMESTEP WHEN THE FLOATING BODY IS RELEASED.
!+
!+
!+ 2) THE TIME WHEN THE COMPUTATION IS STOPPED FOR THIS FLOATING BODY.
!+
!+
!+ 3) THE INITIAL POSITION OF THE FLOATING BODY AT THE TIME OF RELEASE.
!
!history J-M JANIN (LNH)
!+ 17/08/1994
!+ V5P2
!+
!
!history N.DURAND (HRW), S.E.BOURBAN (HRW)
!+ 13/07/2010
!+ V6P0
!+ Translation of French comments within the FORTRAN sources into
!+ English comments
!
!history N.DURAND (HRW), S.E.BOURBAN (HRW)
!+ 21/08/2010
!+ V6P0
!+ Creation of DOXYGEN tags for automated documentation and
!+ cross-referencing of the FORTRAN sources
!
!history J-M HERVOUET (EDF R&D, LNHE)
!+ 22/02/2013
!+ V6P3
!+ New version called at every time step, compatible with //.
!
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!| AT |-->| TIME
!| ELTFLO |<->| NUMBERS OF ELEMENTS WHERE ARE THE FLOATS
!| LT |-->| CURRENT TIME STEP
!| MESH |<->| MESH STRUCTURE
!| NFLOT |-->| NUMBER OF FLOATS
!| NFLOT_MAX |-->| MAXIMUM NUMBER OF FLOATS
!| NIT |-->| NUMBER OF TIME STEPS
!| NPOIN |-->| NUMBER OF POINTS IN THE MESH
!| SHPFLO |<->| BARYCENTRIC COORDINATES OF FLOATS IN THEIR
!| | | ELEMENTS.
!| X,Y |-->| COORDINATES OF POINTS IN THE MESH
!| XFLOT,YFLOT |<--| POSITIONS OF FLOATING BODIES
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!
USE BIEF
USE STREAMLINE, ONLY : ADD_PARTICLE,DEL_PARTICLE
USE ALGAE_TRANSP
!
IMPLICIT NONE
INTEGER LNG,LU
COMMON/INFO/LNG,LU
!
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
!
INTEGER, INTENT(IN) :: NPOIN,NIT,NFLOT_MAX,LT
INTEGER, INTENT(IN) :: NELEM,NELMAX
INTEGER, INTENT(IN) :: IKLE(NELMAX,3)
INTEGER, INTENT(INOUT) :: NFLOT
INTEGER, INTENT(INOUT) :: TAGFLO(NFLOT_MAX)
INTEGER, INTENT(INOUT) :: ELTFLO(NFLOT_MAX)
DOUBLE PRECISION, INTENT(IN) :: X(NPOIN),Y(NPOIN),AT
DOUBLE PRECISION, INTENT(INOUT) :: XFLOT(NFLOT_MAX)
DOUBLE PRECISION, INTENT(INOUT) :: YFLOT(NFLOT_MAX)
DOUBLE PRECISION, INTENT(INOUT) :: SHPFLO(3,NFLOT_MAX)
TYPE(BIEF_MESH) , INTENT(INOUT) :: MESH
!
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
!
IF(MOD(LT,10).EQ.1) THEN
CALL ADD_PARTICLE(2.741D3,1.136D4,0.D0,LT,NFLOT,
& NFLOT_MAX,XFLOT,YFLOT,YFLOT,TAGFLO,
& SHPFLO,SHPFLO,ELTFLO,ELTFLO,MESH,1,
& 0.D0,0.D0,0.D0,0.D0,0,0)
WRITE(*,*) XFLOT
ENDIF
!
RETURN
END
Thanks! This is quite the mystery...
-Simon