The TELEMAC-MASCARET system  trunk
ovd_2.f
Go to the documentation of this file.
1 ! ****************
2  SUBROUTINE ovd_2
3 ! ****************
4 !
5  & ( op , x , dimx , y , dimy , z , dimz , c , dim1 , npoin ,
6  & iopt , infini, zero )
7 !
8 !***********************************************************************
9 ! BIEF V6P1 21/08/2010
10 !***********************************************************************
11 !
12 !brief BETWEEN OS AND OVD WHEN 2-DIMENSION VECTORS ARE INVOLVED.
13 !
14 !history J-M HERVOUET (LNH)
15 !+ 29/11/94
16 !+ V5P2
17 !+
18 !
19 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
20 !+ 13/07/2010
21 !+ V6P0
22 !+ Translation of French comments within the FORTRAN sources into
23 !+ English comments
24 !
25 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
26 !+ 21/08/2010
27 !+ V6P0
28 !+ Creation of DOXYGEN tags for automated documentation and
29 !+ cross-referencing of the FORTRAN sources
30 !
31 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32 !| C |-->| A GIVEN CONSTANT
33 !| DIM1 |-->| FIRST DIMENSION OF X, Y AND Z
34 !| DIMX |-->| SECOND DIMENSION OF X
35 !| DIMY |-->| SECOND DIMENSION OF Y
36 !| DIMZ |-->| SECOND DIMENSION OF Z
37 !| INFINI |-->| VALUE TO PUT INSTEAD OF 1/0
38 !| IOPT |-->| OPTION FOR DIVISIONS BY ZERO
39 !| | | 1: NO TEST DONE (WILL CRASH IF DIVISION BY 0.).
40 !| | | 2: INFINITE TERMS REPLACED BY CONSTANT INFINI.
41 !| | | 3: STOP IF DIVISION BY ZERO.
42 !| | | 4: DIVISIONS BY 0. REPLACED BY DIVISIONS/ZERO
43 !| | | ZERO BEING AN OPTIONAL ARGUMENT
44 !| NPOIN |-->| SIZE OF VECTORS
45 !| OP |-->| STRING INDICATING THE OPERATION TO BE DONE
46 !| X |<--| RESULTING VECTOR
47 !| Y |-->| TO BE USED IN THE OPERATION
48 !| Z |-->| TO BE USED IN THE OPERATION
49 !| ZERO |-->| CRITERION FOR DIVISION BY ZERO
50 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51 !
53  IMPLICIT NONE
54 !
55 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
56 !
57  INTEGER, INTENT(IN) :: DIMX,DIMY,DIMZ,DIM1,NPOIN,IOPT
58  DOUBLE PRECISION, INTENT(IN) :: C,INFINI,ZERO
59  CHARACTER(LEN=8), INTENT(IN) :: OP
60  DOUBLE PRECISION, INTENT(INOUT) :: X(dim1,*)
61  DOUBLE PRECISION, INTENT(IN) :: Y(dim1,*),Z(dim1,*)
62 !
63 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
64 !
65  CALL ovd( op , x(1,dimx) , y(1,dimy) , z(1,dimz) , c , npoin ,
66  & iopt , infini , zero )
67 !
68 !-----------------------------------------------------------------------
69 !
70  RETURN
71  END
subroutine ovd(OP, X, Y, Z, C, NPOIN, IOPT, D, EPS)
Definition: ovd.f:7
subroutine ovd_2(OP, X, DIMX, Y, DIMY, Z, DIMZ, C, DIM1, NPOIN, IOPT, INFINI, ZERO)
Definition: ovd_2.f:8