[updated 8.Sep.2008]
Librairie prsd > Fichier prtrdo.f |
SUBROUTINE PRTRDO (NUDOMG,NUDOMK,IMPNUM)
Auteur : D.Martin (Fevrier 1989)
Derniere modification : D.Martin (15 Novembre 1999)
Impression des attributs d'un domaine geometrique ou d'un domaine de calcul
-- Arguments d'entree --
NUDOMG numero de domaine geometrique (necessaire dans tous les cas)
NUDOMK numero de domaine de calcul (seulement pour un domaine de calcul)
IMPNUM numero d'unite logique du fichier d'impression
INTEGER NUDOMG,NUDOMK,IMPNUM
INCLUDE 'ALLOC'
INTEGER IDOMG,IDOMK,IGEOME,INDMIX,NUSCHQ,INDEXC,IDLHRC,INTRPC
& ,NBNECX,NBNEEX,NBDLEX,NBNEFX,NBDLFX,NVNUMC,INDEXL,IDLHRL
& ,INTRPL,NBNELX,NBNEEY,NBDLEY,NBNEFY,NBDLFY,NVNUML,NVCORC
& ,INUTI2,NBTRDO,NIVIMP,MCMDOM,MCTRDO,MCMTRM,MCDTRM,LGERDO
& ,NBDOMK,LGCANO,NCHDOM,NDEBDO,NDEBMX,IDOM,NUTERM,I,ITERM
CHARACTER ERCODE*120,PRFXAS*8
COMMON/FORMAH/ERCODE
CALL PRFXMJ (1,'*PrTrdo*')
CALL TBAR4 (ERCODE,'#OMDOM',1,MCMDOM,'#TERDO',1,MCTRDO
& ,'#OMTRM',1,MCMTRM,'$SDTRM',1,MCDTRM)
CALL SDEXDB (IST(MCTRDO),LGERDO,NBDOMK,LGCANO,NCHDOM) !sdexplo
Recherche de la derniere adresse utile du tableau #TERDO
NDEBDO=LGERDO
NDEBMX=NDEBDO
DO 1 IDOM=1,NBDOMK
NBTRDO=IST(MCTRDO+NDEBMX+LGCANO-2)
NDEBMX=NDEBMX+LGCANO+NBTRDO
1 CONTINUE
Nom du domaine geometrique auquel on s'interesse ou supportant
le domaine de calcul auquel on s'interesse ...
WRITE (IMPNUM,11000) PRFXAS(1),NUDOMG
& ,(AST(I),I=MCMDOM+(NUDOMG-1)*NCHDOM,MCMDOM-1+NUDOMG*NCHDOM)
Boucle sur les domaines pour rechercher le bon (geom. ou de calcul)
2 IF (NDEBDO.GE.NDEBMX) GOTO 99999
CALL GETDOM (IST(MCTRDO+NDEBDO),IDOMG,IDOMK,IGEOME,INDMIX,NUSCHQ
& ,INDEXC,IDLHRC,INTRPC,NBNECX,NBNEEX,NBDLEX,NBNEFX
& ,NBDLFX,NVNUMC
& ,INDEXL,IDLHRL,INTRPL,NBNELX,NBNEEY,NBDLEY,NBNEFY
& ,NBDLFY,NVNUML,NVCORC,INUTI2,NBTRDO,NIVIMP) !sdexplo
IF ((NUDOMK.EQ.0.AND.NUDOMG.EQ.IDOMG).OR.NUDOMK.EQ.IDOMK) THEN
WRITE (IMPNUM,10000) NBTRDO,IDOMK,NIVIMP
WRITE (IMPNUM,10002) INDMIX
WRITE (IMPNUM,10003) IGEOME,NUSCHQ
IF (INDEXC.NE.0) WRITE (IMPNUM,10001) 'colonne','C',INDEXC
WRITE (IMPNUM,10004) 'colonne','X',NBNECX,'colonne','X',NBNEEX
& ,'colonne','X',NBDLEX,'colonne','X',NBNEFX
& ,'colonne','X',NBDLFX
WRITE (IMPNUM,10007) 'colonne','C',NVNUMC
IF (IDLHRC.NE.0) WRITE (IMPNUM,10008) 'colonne','C',IDLHRC
WRITE (IMPNUM,10009) 'colonne','C',INTRPC
IF (INTRPL.NE.INTRPC.OR.INDEXL.NE.INDEXC) THEN
IF (INDEXL.NE.0) WRITE (IMPNUM,10001) 'ligne','L',INDEXL
WRITE (IMPNUM,10004) 'ligne','Y',NBNELX,'ligne','Y',NBNEEY
& ,'ligne','Y',NBDLEY,'ligne','Y',NBNEFY
& ,'ligne','Y',NBDLFY
WRITE (IMPNUM,10007) 'ligne','L',NVNUML
IF (IDLHRL.NE.0) WRITE (IMPNUM,10008) 'ligne','L',IDLHRL
WRITE (IMPNUM,10009) 'ligne ','L',INTRPL
ENDIF
WRITE (IMPNUM,10010) NVCORC
NDEBDO=NDEBDO+LGCANO
DO 3 ITERM=1,NBTRDO
NUTERM=IST(MCTRDO+NDEBDO)
CALL PRSDTR (NUTERM,IST(MCDTRM),AST(MCMTRM),IMPNUM) !prsd
NDEBDO=NDEBDO+1
3 CONTINUE
ELSE
NDEBDO=NDEBDO+LGCANO+NBTRDO
ENDIF
GOTO 2
99999 CALL PRFXMJ (-1,'*PrTrdo*')
11000 FORMAT (/T2,A8,'>*PrTrdo*',TR2,6('*'),T20
&,'Structure #TERDO pour le(s) domaine(s) de calcul defini(s)'
&,/T20,'sur le domaine geometrique #',I4,' : ',50A1)
10000 FORMAT(/T6,'-->',I3,' terme(s) sur le domaine de calcul #',I3
&,' (Niveau d''impression : ',I2,')'/)
10001 FORMAT(T6,'Extension des noeuds du domaine en ',A,T51
&,': INDEX' ,A1,' =',T61,I5)
10002 FORMAT(T6,'Mixite des interpolations ligne / colonne',T51
&,': INDMIX =',T61,I5)
10003 FORMAT(T6,'Reperes locaux',T51,
&': IGEOME =',T61,I5
&/T6,'Numero de type de schema de quadrature',T51
&,': NUSCHQ =',T61,I5)
10004 FORMAT(T6,'Nombre maximum de noeuds en ',A7,T51
&,': NBNEC',A1,' =',T61,I5
&/T6,'Nombre max. de noeuds par element en ',A7,T51
&,': NBNEE',A1,' =',T61,I5
&/T6,'Nombre max. de d.l. par element en ',A7,T51
&,': NBDLE',A1,' =',T61,I5
&/T6,'Nombre max. de noeuds par face en ',A7,T51
&,': NBNEF',A1,' =',T61,I5
&/T6,'Nombre max. de d.l. par face en ',A7,T51
&,': NBDLF',A1,' =',T61,I5)
10007 FORMAT(T6,'Niveau de la numerotation en ',A7,T51
&,': NVNUM',A1,' =',T61,I5)
10008 FORMAT(T6,'Indice d''interpolation Hermite en ',A7,T51
&,': IDLHR',A1,' =',T61,I5)
10009 FORMAT(T6,'Numero de type d''interpolation en ',A7,T51
&,': INTRP',A1,' =',T61,I5)
10010 FORMAT(T6,'Niveau du tableau des normales',T51,':',T61,I5)
END !PrTrdo
prtrdo est appelé dans (3 procédures)