cmpobj.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\cmpobj.f
00002 !
00059                      LOGICAL FUNCTION CMPOBJ
00060 !                    ***********************
00061 !
00062      &( OBJ1 , OBJ2 )
00063 !
00064 !***********************************************************************
00065 ! BIEF   V6P2                                   21/08/2010
00066 !***********************************************************************
00067 !
00068 !
00069 !
00070 !
00071 !
00072 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00073 !| OBJ1           |-->| BIEF_OBJ STRUCTURE TO BE COMPARED WITH THE OTHER
00074 !| OBJ2           |-->| BIEF_OBJ STRUCTURE TO BE COMPARED WITH THE OTHER
00075 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00076 !
00077       USE BIEF, EX_CMPOBJ => CMPOBJ
00078 !
00079       IMPLICIT NONE
00080       INTEGER LNG,LU
00081       COMMON/INFO/LNG,LU
00082 !
00083 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00084 !
00085       TYPE(BIEF_OBJ), INTENT(IN) ::  OBJ1,OBJ2
00086 !
00087 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00088 !
00089       INTEGER IELM1,IELM2,TYP1,TYP2
00090 !
00091 !-----------------------------------------------------------------------
00092 !
00093       CMPOBJ = .FALSE.
00094 !
00095       TYP1 = OBJ1%TYPE
00096       TYP2 = OBJ2%TYPE
00097 !
00098       IF(TYP1.EQ.TYP2) THEN
00099 !
00100         IF(TYP1.EQ.2) THEN
00101 !
00102 !         VECTORS: CHECKS THE DISCRETISATION
00103 !
00104           IELM1 = OBJ1%ELM
00105           IELM2 = OBJ2%ELM
00106           IF(IELM1.EQ.IELM2) THEN
00107             IF(OBJ1%DIM1.NE.OBJ2%DIM1) THEN
00108               IF(LNG.EQ.1) THEN
00109                 WRITE(LU,*) 'CMPOBJ (BIEF) :'
00110                 WRITE(LU,*) 'OBJET 1 : ',OBJ1%NAME,
00111      &          ' DE TYPE ',TYP1,' ET TAILLE ',OBJ1%DIM1
00112                 WRITE(LU,*) 'OBJET 2 : ',OBJ2%NAME,
00113      &          ' DE TYPE ',TYP2,' ET TAILLE ',OBJ2%DIM1
00114                 WRITE(LU,*) 'DIMENSIONS DIFFERENTES'
00115               ENDIF
00116               IF(LNG.EQ.2) THEN
00117                 WRITE(LU,*) 'CMPOBJ (BIEF): '
00118                 WRITE(LU,*) 'OBJECT 1 : ',OBJ1%NAME,
00119      &          ' OF TYPE ',TYP1,' AND SIZE ',OBJ1%DIM1
00120                 WRITE(LU,*) 'OBJECT 2 : ',OBJ2%NAME,
00121      &          ' OF TYPE ',TYP2,' AND SIZE ',OBJ2%DIM1
00122                 WRITE(LU,*) 'DIFFERENT DIMENSIONS'
00123               ENDIF
00124               CALL PLANTE(1)
00125               STOP
00126             ENDIF
00127             CMPOBJ = .TRUE.
00128           ENDIF
00129 !
00130         ELSEIF(TYP1.EQ.4) THEN
00131 !
00132 !         BLOCKS: CHECKS THE NUMBER OF OBJECTS
00133 !
00134           IF(OBJ1%N.EQ.OBJ2%N) CMPOBJ=.TRUE.
00135 !
00136         ELSE
00137 !
00138           IF(LNG.EQ.1) THEN
00139             WRITE(LU,*) 'CMPOBJ (BIEF) : OBJET 1 : ',OBJ1%NAME,
00140      &                  ' DE TYPE ',TYP1,' CAS NON PREVU'
00141           ENDIF
00142           IF(LNG.EQ.2) THEN
00143             WRITE(LU,*) 'CMPOBJ (BIEF): OBJECT 1 : ',OBJ1%NAME,
00144      &                  ' OF TYPE ',TYP1,' UNEXPECTED CASE'
00145           ENDIF
00146           CALL PLANTE(1)
00147           STOP
00148 !
00149         ENDIF
00150 !
00151       ENDIF
00152 !
00153 !-----------------------------------------------------------------------
00154 !
00155       RETURN
00156       END

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0