topfus
C TOPFUS SOURCE GOUNAND 21/04/06 21:15:31 10940 IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : TOPFUS C DESCRIPTION : On ajoute les éléments de JTBES à la topologie et à C son inverse en redimensionnant si nécessaire C C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SEMT/LTA) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELES : C APPELES (E/S) : C APPELES (BLAS) : C APPELES (CALCUL) : C APPELE PAR : C*********************************************************************** C SYNTAXE GIBIANE : C ENTREES : JELEM C ENTREES/SORTIES : JCOORD, JTOPO C SORTIES : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 17/10/2017, version initiale C HISTORIQUE : v1, 17/10/2017, création C HISTORIQUE : C HISTORIQUE : C*********************************************************************** -INC PPARAM -INC CCOPTIO -INC TMATOP2 -INC SMELEME * * Le nombre d'éléments de JTOPO et le nombre de points de JCOORD * vont être variables. Pour ne pas avoir à ajuster ces segments en * permanence, on va dimensionner plus large, mais du coup, il faut * aussi maintenir à la main le nombre de noeuds et d'éléments * courants. * * Le nombre d'éléments courants est NVCOU et le nombre d'éléments * max est NVMAX. Idem pour le nombre de noeuds courants et max : * NPCOU et NPMAX. * * Numerotation locale des éléments JTOPO.NUM(NBNN,NBELEM) * INTEGER NVCOU,NVMAX POINTEUR JTOPO.MELEME POINTEUR JTBES.MELEME -INC TMATOP1 *-INC STOPINV *-INC STRAVJ * logical lchang * * Executable statements * if (impr.ge.5) WRITE(IOIMP,*) 'Entrée dans topfus.eso' * * On ajoute les éléments de JTBES dans JTOPO * idimp=idim+1 jtopo=travj.topo topinv=travj.topi segact jtbes * Redimensionnement éventuel NVBES=jtbes.num(/2) NVBAS=NVCOU NVCOUN=NVCOU+NVBES if (ierr.ne.0) return * * Mise à jour de JTOPO et de TOPINV * DO iel=1,nvbes do ino=1,IDIMP JTOPO.NUM(INO,nvbas+iel)=JTBES.NUM(INO,iel) enddo enddo if (ierr.ne.0) return * * Normal termination * RETURN * * Format handling * * * Error handling * 9999 CONTINUE MOTERR(1:8)='TOPFUS ' * 349 2 *Problème non prévu dans le s.p. %m1:8 contactez votre assistance RETURN * * End of subroutine TOPFUS * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales