point_adj_t2d.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac2d\point_adj_t2d.f
00002 !
00129                      SUBROUTINE POINT_ADJ_T2D
00130 !                    ************************
00131 !
00132 !
00133 !***********************************************************************
00134 ! TELEMAC2D   V6P1                                   21/08/2010
00135 !***********************************************************************
00136 !
00137 !
00138 !
00139 !
00140 !
00141 !
00142 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00143 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00144 !
00145       USE BIEF
00146       USE DECLARATIONS_TELEMAC
00147       USE DECLARATIONS_TELEMAC2D
00148 !
00149       IMPLICIT NONE
00150       INTEGER LNG,LU
00151       COMMON/INFO/LNG,LU
00152 !
00153 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00154 !
00155 !
00156 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00157 !
00158       INTEGER IELBU,IELBH,CFG(2)
00159 !
00160 !-----------------------------------------------------------------------
00161 !
00162       IF(LISTIN) THEN
00163         IF(LNG.EQ.1) WRITE(LU,20)
00164         IF(LNG.EQ.2) WRITE(LU,21)
00165       ENDIF
00166 20    FORMAT(1X,///,26X,'*************************************',/,
00167      &26X,              '* ALLOCATION DE LA MEMOIRE (ADJOINT)*',/,
00168      &26X,              '*************************************',/)
00169 21    FORMAT(1X,///,26X,'*************************************',/,
00170      &26X,              '*    MEMORY ORGANIZATION  (ADJOINT) *',/,
00171      &26X,              '*************************************',/)
00172 !
00173 !-----------------------------------------------------------------------
00174 !
00175 !     TYPES OF DISCRETISATIONS
00176 !
00177       IELM0 = 10*(IELMH/10)
00178       IELM1 = IELM0 + 1
00179 !
00180       IELBU = IELBOR(IELMU,1)
00181       IELBH = IELBOR(IELMH,1)
00182 !
00183 ! TYPE OF STORAGE AND PRODUCT MATRIX X VECTOR
00184 !
00185       CFG(1) = OPTASS
00186       CFG(2) = PRODUC
00187 !
00188 !-----------------------------------------------------------------------
00189 !
00190 !                     ******************
00191 !                     *  REAL ARRAYS   *
00192 !                     ******************
00193 !
00194 !-----------------------------------------------------------------------
00195 !
00196 !  ARRAYS CONTAINING THE VARIABLES WHICH WILL BE OUTPUT TO THE RESULT FILE:
00197 !
00198       CALL BIEF_ALLVEC(1,PP,'PP    ',IELMH,1,1,MESH)
00199       CALL BIEF_ALLVEC(1,QQ,'QQ    ',IELMU,1,1,MESH)
00200       CALL BIEF_ALLVEC(1,RR,'RR    ',IELMU,1,1,MESH)
00201 !
00202       CALL BIEF_ALLVEC(1,UU  ,'UU    ',IELMU,1,1,MESH)
00203       CALL BIEF_ALLVEC(1,VV  ,'VV    ',IELMU,1,1,MESH)
00204       CALL BIEF_ALLVEC(1,HH  ,'HH    ',IELMH,1,1,MESH)
00205       CALL BIEF_ALLVEC(1,UIT1,'UIT1  ',IELMU,1,1,MESH)
00206       CALL BIEF_ALLVEC(1,VIT1,'VIT1  ',IELMU,1,1,MESH)
00207       CALL BIEF_ALLVEC(1,HIT1,'HIT1  ',IELMH,1,1,MESH)
00208 !
00209 !  BLOCK OF THE UNKNOWNS IN PROPAG
00210 !
00211       CALL ALLBLO(UNKADJ,'UNKADJ')
00212       CALL ADDBLO(UNKADJ, PP)
00213       CALL ADDBLO(UNKADJ, QQ)
00214       CALL ADDBLO(UNKADJ, RR)
00215 !
00216 !  MATRICES
00217 !
00218       CALL BIEF_ALLMAT(TAM1,'TAM1  ',IELMH,IELMH,CFG,'Q','Q',MESH)
00219       CALL BIEF_ALLMAT(TAM2,'TAM2  ',IELMU,IELMU,CFG,'Q','Q',MESH)
00220       CALL BIEF_ALLMAT(TAM3,'TAM3  ',IELMU,IELMU,CFG,'Q','Q',MESH)
00221       CALL BIEF_ALLMAT(TBM1,'TBM1  ',IELMU,IELMH,CFG,'Q','Q',MESH)
00222       CALL BIEF_ALLMAT(TBM2,'TBM2  ',IELMU,IELMH,CFG,'Q','Q',MESH)
00223       CALL BIEF_ALLMAT(TCM1,'TCM1  ',IELMU,IELMH,CFG,'Q','Q',MESH)
00224       CALL BIEF_ALLMAT(TCM2,'TCM2  ',IELMU,IELMH,CFG,'Q','Q',MESH)
00225 !
00226 ! BLOCK OF THE MATRICES IN PROPAG
00227 !
00228       CALL ALLBLO(MATADJ,'MATADJ')
00229       CALL ADDBLO(MATADJ,TAM1)
00230       CALL ADDBLO(MATADJ,TCM1)
00231       CALL ADDBLO(MATADJ,TCM2)
00232       CALL ADDBLO(MATADJ,TBM1)
00233       CALL ADDBLO(MATADJ,TAM2)
00234       CALL ADDBLO(MATADJ,A23)
00235       CALL ADDBLO(MATADJ,TBM2)
00236       CALL ADDBLO(MATADJ,A32)
00237       CALL ADDBLO(MATADJ,TAM3)
00238 !
00239 ! DIRICHLET POINTS:
00240 !
00241       CALL BIEF_ALLVEC(1,QBOR ,'QBOR  ',IELBU,1,1,MESH)
00242       CALL BIEF_ALLVEC(1,RBOR ,'RBOR  ',IELBU,1,1,MESH)
00243       CALL BIEF_ALLVEC(1,PBOR ,'PBOR  ',IELBH,1,1,MESH)
00244 !
00245       CALL ALLBLO(ADJDIR,'ADJDIR')
00246       CALL ADDBLO(ADJDIR,PBOR)
00247       CALL ADDBLO(ADJDIR,QBOR)
00248       CALL ADDBLO(ADJDIR,RBOR)
00249 !
00250 ! ARRAYS FOR THE DESCENT METHOD (UP TO NPOIN PARAMETERS)
00251 !
00252       CALL BIEF_ALLVEC(1,GRADJ  ,'GRADJ ',IELM1,1,1,MESH)
00253       CALL BIEF_ALLVEC(1,GRADJN ,'GRADJN',IELM1,1,1,MESH)
00254       CALL BIEF_ALLVEC(1,DESC   ,'DESC  ',IELM1,1,1,MESH)
00255       CALL BIEF_ALLVEC(1,SETSTR ,'SETSTR',IELM1,1,1,MESH)
00256       CALL BIEF_ALLVEC(1,SETSTR2,'SETST2',IELM1,1,1,MESH)
00257 !
00258 !_______________________________________________________________________
00259 !
00260 !  POINTERS FOR THE SECOND MEMBERS OF THE PROPAGATION STEP
00261 !
00262 !_______________________________________________________________________
00263 !
00264 !
00265       CALL BIEF_ALLVEC(1,ALPHA1  ,'ALPHA1',IELMH,1,1,MESH)
00266       CALL BIEF_ALLVEC(1,ALPHA2  ,'ALPHA2',IELMU,1,1,MESH)
00267       CALL BIEF_ALLVEC(1,ALPHA3  ,'ALPHA3',IELMU,1,1,MESH)
00268       CALL BIEF_ALLVEC(1,HD      ,'HD    ',IELMH,1,1,MESH)
00269       CALL BIEF_ALLVEC(1,UD      ,'UD    ',IELMU,1,1,MESH)
00270       CALL BIEF_ALLVEC(1,VD      ,'VD    ',IELMU,1,1,MESH)
00271 !
00272 !  COMPUTES THE BLOCK WHICH CONNECTS A VARIABLE NAME TO ITS ARRAY
00273 !
00274 !
00275       CALL ALLBLO(VARSORA ,'VARSORA')
00276 ! 01
00277       CALL ADDBLO(VARSORA,U)
00278 ! 02
00279       CALL ADDBLO(VARSORA,V)
00280 ! 03
00281       CALL ADDBLO(VARSORA,FU)
00282 ! 04
00283       CALL ADDBLO(VARSORA,H)
00284 ! 05
00285       CALL ADDBLO(VARSORA,FV)
00286 ! 06
00287       CALL ADDBLO(VARSORA,ZF)
00288 ! 07
00289       CALL ADDBLO(VARSORA,T2)
00290 ! 08
00291       CALL ADDBLO(VARSORA,T3)
00292 ! 09
00293       CALL ADDBLO(VARSORA,T)
00294 ! 10
00295       CALL ADDBLO(VARSORA,AK)
00296 ! 11
00297       CALL ADDBLO(VARSORA,EP)
00298 ! 12
00299       CALL ADDBLO(VARSORA,VISC)
00300 ! 13
00301       CALL ADDBLO(VARSORA,T4)
00302 ! 14
00303       CALL ADDBLO(VARSORA,T5)
00304 ! 15
00305       CALL ADDBLO(VARSORA,T6)
00306 ! 16
00307       CALL ADDBLO(VARSORA,WINDX)
00308 ! 17
00309       CALL ADDBLO(VARSORA,WINDY)
00310 ! 18
00311       CALL ADDBLO(VARSORA,PATMOS)
00312 ! 19
00313       CALL ADDBLO(VARSORA,CHESTR)
00314 ! 20
00315       CALL ADDBLO(VARSORA,CV1)
00316 ! 21
00317       CALL ADDBLO(VARSORA,CV2)
00318 ! 22
00319       CALL ADDBLO(VARSORA,CV3)
00320 ! 23
00321       CALL ADDBLO(VARSORA,PP)
00322 ! 24
00323       CALL ADDBLO(VARSORA,QQ)
00324 ! 25
00325       CALL ADDBLO(VARSORA,RR)
00326 ! 26
00327       CALL ADDBLO(VARSORA,PRIVE%ADR(4)%P)
00328 !
00329 !***********************************************************************
00330 !
00331 ! WRITES OUT TO LISTING :
00332 !
00333       IF(LISTIN) THEN
00334         IF(LNG.EQ.1) WRITE(LU,22)
00335         IF(LNG.EQ.2) WRITE(LU,23)
00336       ENDIF
00337 22    FORMAT(1X,///,21X,'***************************************',/,
00338      &21X,              '* FIN DE L''ALLOCATION DE LA MEMOIRE  *',/,
00339      &21X,              '***************************************',/)
00340 23    FORMAT(1X,///,21X,'************************************',/,
00341      &21X,              '*    END OF MEMORY ORGANIZATION ADJ*',/,
00342      &21X,              '************************************',/)
00343 !
00344 !-----------------------------------------------------------------------
00345 !
00346       RETURN
00347       END

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