intpro
C INTPRO SOURCE CHAT 05/01/13 00:41:36 5004 $ ,NBFAC,IFACE,XINT,XN,JFACE,XINTER,XNORMA) ********************************************************************* *** SP 'INTPRO' : determine par rapport à un pt choisi quelle est le pt *** d'intersection trajectoire particule-face traversee le plus proche. *** *** APPELES 1 = aucun *** APPELES 2 = aucun *** *** E = 'NDIM' dimension de l'espace *** 'XREEL' coordonnees reelles du pt choisi *** 'NBFAC' nombre de faces de l'element traversees par particule *** 'IFACE' n° faces de l'element traversees par particule *** 'XINT' pts intersection trajectoire particule-faces traversees *** 'XN' vecteurs unitaires normaux aux faces traversees *** *** S = 'JFACE' n° face traversee la plus proche du pt choisi *** 'XINTER' coord reelles du pt intersection associé à face 'JFACE' *** 'XNORMA' vecteur unitaire normal à face de n° 'JFACE' *** *** Auteur Cyril Nou ************************************************************************* IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION XREEL(3),IFACE(6),XINT(3,6),XN(3,6) DIMENSION DIFF(3),XINTER(3),XNORMA(3) *** recuperation des infos associées à face arbitraire (<> face calibrage) DISTA1=0.D0 JFACE=IFACE(1) DO 10 J=1,NDIM XINTER(J)=XINT(J,1) XNORMA(J)=XN(J,1) DIFF(J)=XINT(J,1)-XREEL(J) DISTA1=DISTA1+DIFF(J)**2 10 CONTINUE *** calcul distance entre pt considéré et pt intersection face arbitraire DISTA1=SQRT(DISTA1) *** boucle sur les autres faces traversées par trajectoire DO 20 I=2,NBFAC DISTA2=0.D0 DO 30 J=1,NDIM DIFF(J)=XINT(J,I)-XREEL(J) DISTA2=DISTA2+DIFF(J)**2 30 CONTINUE *** calcul distance entre pt considéré et pt intersection face-trajectoire DISTA2=SQRT(DISTA2) *** recuperation des infos associées à face si distance est minimale IF (DISTA2.LT.DISTA1) THEN DISTA1=DISTA2 JFACE=IFACE(I) DO 40 J=1,NDIM XINTER(J)=XINT(J,I) XNORMA(J)=XN(J,I) 40 CONTINUE ENDIF 20 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales