The TELEMAC-MASCARET system
trunk
sources
tomawac
user_current.f
Go to the documentation of this file.
1
! ***********************
2
SUBROUTINE
user_current
3
! ***********************
4
!
5
&(ncou,fmtcou)
6
!
7
!***********************************************************************
8
! TOMAWAC
9
!***********************************************************************
10
!
11
!brief READS IN THE CURRENTS USING A USER-DEFINED FORMAT.
12
!
13
!note DURING THE FIRST PASS THE USER MUST IDENTIFY THE TIMES TC1 AND TC2
14
!+ WHICH SURROUND THE FIRST TIME STEP. NEXT, USING THE ARRAYS
15
!+ XRELC,YRELC,UR,VR OR DIRECTLY FROM THE CURRENT FILE, THE USER
16
!+ MAY HAVE TO INTERPOLATE THE CURRENTS READ FROM THE FILE INTO THE
17
!+ ARRAYS UC1,VC1 UC2,VC2.
18
!+
19
!+ INTERPOLATION SUBROUTINE FASP :
20
!+
21
!+ CALL FASP(X,Y,UC1,NPOIN,XRELC,YRELC,UR,NP,NBOR,MESH%KP1BOR%I,NPTFR,0.D0)
22
!+
23
!+ CALL FASP(X,Y,VC1,NPOIN,XRELC,YRELC,VR,NP,NBOR,MESH%KP1BOR%I,NPTFR,0.D0)
24
!+
25
!+ THE CODE WILL INTERPOLATE THE CURRENT AUTOMATICALLY BETWEEN THESE
26
!+ 2 TIME STEPS.
27
!+
28
!+ THE OTHER PASSES OCCUR WHEN A NEW RECORD IS REQUIRED (AT>TC2).
29
!+ IN THIS CASE TC2,UC2,VC2 ONLY ARE TO BE COMPUTED.
30
!
31
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32
!| AT |-->| COMPUTATION TIME
33
!| FMTCOU |-->| CURRENTS FILE BINARY FORMAT
34
!| DDC |-->| DATE OF COMPUTATION BEGINNING
35
!| NBOR |-->| GLOBAL NUMBER OF BOUNDARY POINTS
36
!| NCOU |-->| LOGICAL UNIT NUMBER OF THE CURRENTS FILE
37
!| NPMAX |-->| MAXIMUM NUMBER OF POINTS THAT CAN BE READ
38
!| NPOIN |-->| NUMBER OF POINTS IN 2D MESH
39
!| NPTFR |-->| NUMBER OF BOUNDARY POINTS
40
!| TC1 |-->| TIME T1 IN THE CURRENT FILE
41
!| TC2 |-->| TIME T2 IN THE CURRENT FILE
42
!| UC1,VC1 |<->| CURRENTS VALUES AT TIME T1 IN THE MESH
43
!| UC2,VC2 |<->| CURRENTS VALUES AT TIME T2 IN THE MESH
44
!| X |-->| ABSCISSAE OF POINTS IN THE MESH
45
!| Y |-->| ORDINATES OF POINTS IN THE MESH
46
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47
!
48
! USE DECLARATIONS_TOMAWAC, ONLY : NPOIN2, X, Y, DDC, AT,
49
! & UC1, UC2, VC1, VC2, TC1, TC2, NBOR, NPTFR
50
USE
interface_tomawac
, ex_user_current =>
user_current
51
!
52
USE
declarations_special
53
IMPLICIT NONE
54
!
55
!
56
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
57
!
58
INTEGER
,
INTENT(IN)
:: NCOU
59
CHARACTER(LEN=8)
,
INTENT(IN)
:: FMTCOU
60
!
61
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
62
!
63
WRITE
(
lu
,*)
'*********************************************'
64
WRITE
(
lu
,*)
' YOU CALL THE SUBROUTINE COUUTI '
65
WRITE
(
lu
,*)
' (CURRENTS FILE FORMAT = 3) '
66
WRITE
(
lu
,*)
' BUT YOU DID NOT MODIFIED IT '
67
WRITE
(
lu
,*)
'*********************************************'
68
CALL
plante(1)
69
stop
70
!
71
!-----------------------------------------------------------------------
72
!
73
RETURN
74
END
declarations_special
Definition:
declarations_special.F:3
user_current
subroutine user_current(NCOU, FMTCOU)
Definition:
user_current.f:7
declarations_special::lu
integer lu
Definition:
declarations_special.F:45
interface_tomawac
Definition:
interface_tomawac.f:5