The TELEMAC-MASCARET system  trunk
user_corrxy.f
Go to the documentation of this file.
1 ! **********************
2  SUBROUTINE user_corrxy
3 ! **********************
4 !
5  & (x,y,npoin)
6 !
7 !***********************************************************************
8 ! BIEF
9 !***********************************************************************
10 !
11 !brief MODIFIES THE COORDINATES OF THE POINTS IN THE MESH.
12 !
13 !warning DO NOT PERFORM ROTATIONS AS IT WILL CHANGE
14 !+ THE NUMBERING OF THE LIQUID BOUNDARIES
15 !
16 !history EMILE RAZAFINDRAKOTO (LNHE)
17 !+ 17/10/05
18 !+ V5P6
19 !+
20 !
21 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22 !| NPOIN |-->| NUMBER OF POINTS IN THE MESH
23 !| X |<->| ABSCISSAE OF POINTS IN THE MESH
24 !| Y |<->| ORDINATES OF POINTS IN THE MESH
25 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26 !
27  USE bief, ex_user_corrxy => user_corrxy
28 !
29 ! OTHER DATA ARE AVAILABLE WITH THE DECLARATIONS OF EACH PROGRAM
30 !
31 ! USE DECLARATIONS_TELEMAC2D
32 ! USE DECLARATIONS_TELEMAC3D
33 !
35  IMPLICIT NONE
36 !
37 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
38 !
39  INTEGER, INTENT(IN) :: NPOIN
40  DOUBLE PRECISION, INTENT(INOUT) :: X(npoin),Y(npoin)
41 !
42 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
43 !
44  INTEGER I
45  DOUBLE PRECISION DEGTORAD
46  INTRINSIC acos
47 !
48 !-----------------------------------------------------------------------
49 !
50 ! THIS SUBROUTINE MUST BE MODIFIED ACCORDING TO
51 ! THE CALLING PROGRAM AND THE NEEDED MODIFICATION
52 ! BY ADDING USE DECLARATIONS_"NAME OF CALLING CODE"
53 ! ALL THE DATA STRUCTURE OF THIS CODE IS AVAILABLE
54 !
55 !-----------------------------------------------------------------------
56 !
57 ! EXAMPLE 1: MULTIPLIES BY A CONSTANT (SCALES THE MESH)
58 ! AND CHANGES THE ORIGIN
59 !
60 !
61  IF(.false.) THEN
62  DO i = 1 , npoin
63  x(i) = 3.d0 * x(i) + 100.d0
64  y(i) = 5.d0 * y(i) - 50.d0
65  ENDDO
66  ENDIF
67 !
68 !
69 !-----------------------------------------------------------------------
70 !
71 ! EXAMPLE 2: CHANGING LATITUDE-LONGITUDE IN DEGREES TO RADIANS
72 !
73 !
74  IF(.false.) THEN
75  degtorad=acos(-1.d0)/180.d0
76  DO i = 1 , npoin
77  x(i) = x(i) * degtorad
78  y(i) = y(i) * degtorad
79  ENDDO
80  ENDIF
81 !
82 !-----------------------------------------------------------------------
83 !
84 ! THIS SHOULD BE CHANGED IF MODIFICATIONS ARE DONE
85 !
86  WRITE(lu,*)'USER_CORRXY (BIEF):NO MODIFICATION OF COORDINATES'
87  WRITE(lu,*)
88 !
89 !-----------------------------------------------------------------------
90 !
91  RETURN
92  END
Definition: bief.f:3
subroutine user_corrxy(X, Y, NPOIN)
Definition: user_corrxy.f:7