valtri
C VALTRI SOURCE PV 07/11/23 21:19:51 5978 implicit real*8 (a-h,o-z) ************************************************************************ * * V A L T R I * ----------- * * FONCTION: * --------- * * CALCUL DE LA QUALITE D'UN TRIANGLE. * * MODULES UTILISES: * ----------------- * IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC SMCOORD * * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) * ----------- * * +XCOOR (E) VOIR LE COMMUN "COPTIO" ET LE SEGMENT "MCOORD". * (SEGMENT SUPPOSE ACTIF) * +IDIM (E) VOIR LE COMMUN "COPTIO". * NOD1 (E) NUMERO DU NOEUD 1. * NOD2 (E) NUMERO DU NOEUD 2. * NOD3 (E) NUMERO DU NOEUD 3. * QUALIT (S) RAPPORT DE SURFACES, PONDERE DE FACON A OBTENIR UN * MAXIMUM DE 1 POUR UN TRIANGLE EQUILATERAL. * REAL*8 QUALIT * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 5 OCTOBRE 1990 * ************************************************************************ * IDIMP1 = IDIM + 1 X12 = XCOOR((NOD2-1)*IDIMP1+1) & - XCOOR((NOD1-1)*IDIMP1+1) X13 = XCOOR((NOD3-1)*IDIMP1+1) & - XCOOR((NOD1-1)*IDIMP1+1) X23 = X13 - X12 Y12 = XCOOR((NOD2-1)*IDIMP1+2) & - XCOOR((NOD1-1)*IDIMP1+2) Y13 = XCOOR((NOD3-1)*IDIMP1+2) & - XCOOR((NOD1-1)*IDIMP1+2) Y23 = Y13 - Y12 IF (IDIM.EQ.3) THEN Z12 = XCOOR((NOD2-1)*IDIMP1+3) & - XCOOR((NOD1-1)*IDIMP1+3) Z13 = XCOOR((NOD3-1)*IDIMP1+3) & - XCOOR((NOD1-1)*IDIMP1+3) Z23 = Z13 - Z12 ELSE Z12 = 0. Z13 = 0. Z23 = 0. END IF * SURFX2 = SQRT ( (Y12*Z13 - Y13*Z12) **2 & + (Z12*X13 - Z13*X12) **2 & + (X12*Y13 - X13*Y12) **2 ) SURFMA = MAX ( X12**2 + Y12**2 + Z12**2 , & X13**2 + Y13**2 + Z13**2 , & X23**2 + Y23**2 + Z23**2 ) QUALIT = SURFX2 / SURFMA / 0.866 * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales