pente5
C PENTE5 SOURCE CB215821 20/11/25 13:35:40 10792 & MPOMIN,MPOMAX) C C************************************************************************ C C PROJET : CASTEM 2000 C C NOM : PENTE5 C C DESCRIPTION : Cette subroutine est appellée par la subroutine C PENTE1 (calcul du gradient d'un CHPOINT de type C CENTRE) C Elle contient la partie du calcul de max et min C sur les noeuds voisins, dans le cas de C reconstruction quadratique exacte C C LANGAGE : ESOPE 2000 avec extensions CISI C C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/TTMF C C************************************************************************ C C C APPELES (E/S) : none C C APPELES (Calcul) : none C C C************************************************************************ C C ENTREES : NFAC : nombre de faces C C NCOMP : nombre de composantes de CHPOINT dont on veut C calculer les pentes C C MELEFL : pointeur du MELEME 'FACEL' C C MPOCHP : pointeur de MPOVAL de CHPOINT dont on veut le C gradient C C MLECEN : pointeur de MLENTI qui contient la table C numerotation global/local de CENTREs C C MPOVCL : MPOVAL du CHPOINT de C.L. C C MLENCL : table numerotation global/local pour les C SPG du CHPOINT de C.L. ou C table de 0 si ce CHPOINT n'existe pas C C C SORTIES : MPOMIN : pointeur de MPOVAL du minimum sur le stencil C C MPOMAX : pointeur de MPOVAL du maximum sur le stencil C C C************************************************************************ C C HISTORIQUE (Anomalies et modifications éventuelles) C C HISTORIQUE : Cree le 12-5-2000 C C C************************************************************************ C IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO C C**** Variables de CCOPTIO C C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES C & ,IECHO, IIMPI, IOSPI C & ,IDIM C & ,MCOORD C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU C & ,NORINC,NORVAL,NORIND,NORVAD C & ,NUCROU, IPSAUV C C -INC SMCHPOI -INC SMELEME -INC SMLENTI POINTEUR MPOMIN.MPOVAL, MPOMAX.MPOVAL, MPOVCL.MPOVAL, & MPOCHP.MPOVAL POINTEUR MELEFL.MELEME, MLECEN.MLENTI, MLENCL.MLENTI C INTEGER NFAC, NCOMP, NLCF, NGCEG, NLCEG, NGCF, NGCED, NLCED & , NLCL, ICOMP REAL*8 VAL C C**** N.B. Tous les pointeurs ici sont déjà activés! C C**** Maillage FACEL C Boucle sur les faces C C C**** NGCEG = Numero global centre d'elt "gauche" C NLCEG = Numero local centre d'elt "gauche" C NGCF = " global centre de face C NLCF = numero local centre de face C NGCEG = Numero global centre d'elt "gauche" C NLCEG = Numero local centre d'elt "gauche" C DO NLCF = 1, NFAC NGCEG = MELEFL.NUM(1,NLCF) NLCEG = MLECEN.LECT(NGCEG) NGCF = MELEFL.NUM(2,NLCF) NGCED = MELEFL.NUM(3,NLCF) NLCED = MLECEN.LECT(NGCED) IF(NGCEG .EQ. NGCED)THEN C C********** Cas mur C NLCL = MLENCL.LECT(NGCF) IF(NLCL .NE. 0)THEN C C************* Le point face appartient au C.L. C DO ICOMP = 1, NCOMP, 1 VAL = MPOVCL.VPOCHA(NLCL,ICOMP) MPOMAX.VPOCHA(NLCEG,ICOMP)= MAX(VAL, & MPOMAX.VPOCHA(NLCEG,ICOMP)) MPOMIN.VPOCHA(NLCEG,ICOMP)= MIN(VAL, & MPOMIN.VPOCHA(NLCEG,ICOMP)) ENDDO ENDIF ELSE DO ICOMP = 1, NCOMP, 1 VAL = MPOCHP.VPOCHA(NLCED,ICOMP) MPOMAX.VPOCHA(NLCEG,ICOMP)= MAX(VAL, & MPOMAX.VPOCHA(NLCEG,ICOMP)) MPOMIN.VPOCHA(NLCEG,ICOMP)= MIN(VAL, & MPOMIN.VPOCHA(NLCEG,ICOMP)) C VAL = MPOCHP.VPOCHA(NLCEG,ICOMP) MPOMAX.VPOCHA(NLCED,ICOMP)= MAX(VAL, & MPOMAX.VPOCHA(NLCED,ICOMP)) MPOMIN.VPOCHA(NLCED,ICOMP)= MIN(VAL, & MPOMIN.VPOCHA(NLCED,ICOMP)) ENDDO ENDIF ENDDO RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales