Download zpmode.eso

Back to the list

   1 : C ZPMODE    SOURCE    FANDEUR   14/01/22    21:15:20     7891           
   2 : 
   3 : *---------------------------------------
   4 : *      ECRITURE D'UN OBJET MODELE
   5 : *---------------------------------------
   6 : 
   7 :       SUBROUTINE ZPMODE (MMODEL)
   8 : 
   9 :       IMPLICIT INTEGER(I-N)
  10 :       IMPLICIT REAL*8 (A-H,O-Z)
  11 : 
  12 : -INC CCOPTIO
  13 : -INC CCHAMP
  14 : 
  15 : -INC SMMODEL
  16 : 
  17 :        character*16 mderiv(6)
  18 :        character*8 nomtyp(14)
  19 :        character*512 motlib
  20 :        logical b_z
  21 : 
  22 :        DATA MDERIV/'Lineaire        ','Quadratique     ',
  23 :      $  'TRUSDELL        ','JAUMANN         ','Utilisateur     ',
  24 :      $  'FEFP            '/      
  25 :        data nomtyp/
  26 :      1              'DEPLACEM', 'FORCES  ', 'GRADIENT', 'CONTRAIN',
  27 :      1              'DEFORMAT', 'MATERIAU', 'CARACTER', 'TEMPERAT',
  28 :      1              'PRINCIPA', 'VARINTER', 'GRAFLEXI', 'VINMETAL',             
  29 :      1              'DEFINELA', 'PARAMEXT'/
  30 :       SEGACT,MMODEL
  31 :       N1=KMODEL(/1)
  32 : 
  33 :       WRITE(IOIMP,190)
  34 :       WRITE(IOIMP,200)
  35 :       WRITE(IOIMP,201)
  36 :       WRITE(IOIMP,210) N1
  37 :       WRITE(IOIMP,201)
  38 :       WRITE(IOIMP,200)
  39 : 
  40 :       DO N=1,N1
  41 :         IMODEL=KMODEL(N)
  42 :         SEGACT,IMODEL
  43 :         WRITE(IOIMP,2) N
  44 :         WRITE(IOIMP,3) IMAMOD,NOMTP(NEFMOD)
  45 :         IF (CONMOD.NE.'                ') WRITE(IOIMP,4)CONMOD
  46 :         IF (conmod(17:24).NE.'        ') WRITE(IOIMP,8) conmod(17:24)
  47 : 
  48 :         nfor = formod(/2)
  49 :         NMAT = MATMOD(/2)
  50 :         nobmod = tymode(/2)
  51 : 
  52 :         WRITE(IOIMP,5) (FORMOD(i),i=1,NFOR)
  53 :         IF (IPDPGE.NE.0) WRITE(IOIMP,7) IPDPGE
  54 :         IF (NMAT.NE.0) WRITE(IOIMP,6) (MATMOD(i),i=1,NMAT)
  55 :         mecfor=0
  56 :         mdifor = 0
  57 :         do i=1,nfor
  58 :           if(formod(i).eq.'MECANIQUE'.or.formod(i).eq.'POREUX')mecfor=1
  59 :           if(formod(i).eq.'DIFFUSION') mdifor=1
  60 :         enddo
  61 :         if(mecfor.eq.1) write(ioimp,27) mderiv(ideriv) 
  62 : 
  63 :         do io=1,14
  64 :           nomid = lnomid(io)
  65 :           if(nomid.ne.0) then
  66 :              segact nomid
  67 :              if(lesobl(/2).ne.0) then
  68 :                write(ioimp,20) nomtyp(io)
  69 :           if(lesobl(/2).NE.0)write(ioimp,21)(lesobl(iu),iu=1,lesobl(/2))
  70 :           if(lesfac(/2).NE.0)write(ioimp,21)(lesfac(iu),iu=1,lesfac(/2))  
  71 :              endif      
  72 :              segdes nomid
  73 :           endif
  74 :         enddo
  75 : c*      if( formod(1).eq.'MECANIQUE'.or.formod(1).eq.'POREUX'. or.
  76 : c*   $ formod(/2).eq.2) then
  77 :         if( mecfor.eq.1 .OR. nfor.EQ.2 ) then
  78 :          write(ioimp,23)(infele(iu),iu=1,6),infele(13),infele(14)      
  79 :         endif
  80 : c*        if (inatuu.ne.0 .or. imatee.ne.0) then
  81 :         if (inatuu.ne.0) then
  82 :           write(ioimp,22) cmatee, imatee, inatuu
  83 :           if (inatuu.eq.-1) then
  84 :             write(ioimp,221) matmod(nmat)
  85 :           endif
  86 :           if (inatuu.eq.-2) then
  87 :             iviex = 0
  87 :             CALL PLACE(tymode,nobmod,iviex,'IVIEX   ')
  88 :             write(ioimp,222) ivamod(iviex)
  89 :           endif
  90 :         endif
  91 : 
  92 : *       if (infmod(/1).gt.2)  write(IOIMP,*)
  93 : *     $ 'segment d integtration ',(infmod(iu),iu=3,infmod(/1))                  
  94 : 
  95 :         IF (nobmod.NE.0) THEN
  96 :           if ((mecfor.eq.1 .and. inatuu.lt.0) .or. mdifor.eq.1) then
  97 :             noblib = 0
  98 :             if (mdifor.eq.1) then
  98 :               CALL PLACE(tymode,nobmod,noblib,'LDIEXT  ')
  99 :             else
  99 :               CALL PLACE(tymode,nobmod,noblib,'LMEEXT  ')
 100 :             endif
 101 :             if (noblib.gt.0) then
 101 :               call queval(ivamod(noblib+1),'MOT',ier,lgmot,r_z,
 102 :      &                    motlib,b_z,i_z)
 103 :               lglib = INDEX(motlib,'=')
 104 :               if (lglib.gt.41) then
 105 :                 write(ioimp,223) motlib(1:40)//'...'
 106 :               else
 107 :                 write(ioimp,223) motlib(1:lglib-1)
 108 :               endif               
 109 :               write(ioimp,224) motlib(lglib+1:lgmot)
 110 :             endif
 111 :           else
 112 :             WRITE(IOIMP,12) (TYMODE(i),IVAMOD(i),i=1,nobmod)
 113 :           endif
 114 :         ENDIF
 115 : 
 116 :         SEGDES,IMODEL
 117 :       ENDDO
 118 :       SEGDES,MMODEL
 119 : 
 120 :       WRITE(IOIMP,190)
 121 : 
 122 :  190  FORMAT(//)
 123 :  200  FORMAT(1X,'+',77('-'),'+')
 124 :  201  FORMAT(1X,'|',T80,'|')
 125 :  210  FORMAT(' |          OBJET MMODEL CONTENANT ',I6,
 126 :      .       ' ZONE(S) ELEMENTAIRE(S) '     ,T80,'|')
 127 :  2    FORMAT(//10X,' MODELE ASSOCIE A LA ZONE ELEMENTAIRE',I6/
 128 :      .         10X,' ------------------------------------------')
 129 :  3    FORMAT(/1X,'  POINTEUR SUR L''OBJET MAILLAGE : ',I9,/,
 130 :      .        1X,'  TYPE D''ELEMENT FINI  :  ',3X,A4)
 131 :  4    FORMAT(1X,'  NOM DU CONSTITUANT   :  ',3X,A24)
 132 :  5    FORMAT(1X,'  FORMULATION          :  ',5(3X,A16))
 133 :  6    FORMAT(1X,'  MODELE DE MATERIAU   :  ',5(3X,A16))
 134 :  7    FORMAT(1X,'  POINT SUPPORT DPGE   :  ',I9)
 135 :  8    FORMAT(1X,'  NOM DE LA PHASE      :  ',3X,A8)
 136 :  9    FORMAT(1X,'  VARIABLES INTERNES   :    ',12(1X,A4))
 137 :  10   FORMAT(1X,'  PARAMETRES MATERIAUX :    ',12(1X,A4))
 138 :  12   FORMAT('   Liste des objets associes : type-valeur',/,
 139 :      .       3(1X,A8,2X,I9,10X))
 140 :  20   FORMAT(1x,'  Liste des noms de composantes de ',a8)
 141 :  21   format (10x, 16(A4,1X))
 142 :  22   format(1x,'  MATERIAU cmate imate inatu   : ',a8,2I5)
 143 :  221  format(1x,'           NOM LOI UTILISATEUR : "',a16,'"')
 144 :  222  format(1x,'           LOI VISCO_EXTERNE   : ',I5)
 145 :  223  format(1x,'           "LIBRAIRIE" EXTERNE : "',A,'"')
 146 :  224  format(1x,'           "FONCTION" EXTERNE  : "',A,'"')
 147 :  23   format(1X,'  numero de l element fini (nefmod):' , i5,/, 
 148 :      $       1X,'  points integration epaisseur     :' , i5,/,
 149 :      $       1X,'  points de gauss pour masse       :' , i5,/,
 150 :      $       1X,'  points support de contraintes    :' , i5,/,
 151 :      $       1X,'  nombre de caracteristiques       :' , i5,/, 
 152 :      $       1X,'  points de gauss pour rigidite    :' , i5,/, 
 153 :      $       1X,'  numero de la formulation E.F(mfr):' , i5,/,
 154 :      $       1X,'  numero de  l element geometrique :' , i5)
 155 :  27   format(1x,'  Hypothese de deformations : ',a16)               
 156 : 
 157 :       RETURN
 158 :       END
 159 : 
 160 :  

© Cast3M 2003 - All rights reserved.
Disclaimer