fpa
C FPA SOURCE CB215821 20/11/25 13:29:16 10792 SUBROUTINE FPA C********************************************************************** C C OBJET : CALCUL DES FONCTIONS DE PAROIS AEROSOLS C C SYNTAXE : 'ZONE' $DOM 'OPER' FPA NU YP UET NORM AK ROG RAP C C C NU : FLOTTANT (VISCOSITE) C YP : FLOTTANT (EPAISSEUR DE LA COUCHE LIMITE) C UET : CHPOINT SCAL CENTRE (VITESSE DE FROTTEMENT) C NORM : CHPOINT VECT FACE (NORMALES A LA PAROI) C AK : CHPOINT SCAL CENTRE (VITESSE DE DEPOT) C ROG : POINT (MASSE VOLUMIQUE * G) C RAP : FLOTTANT (RAYON DES PARTICULES) C C*********************************************************************** IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C -INC PPARAM -INC CCOPTIO -INC CCVQUA4 -INC SMCOORD -INC SMELEME POINTEUR MELEMC.MELEME -INC SMCHPOI POINTEUR MUET.MCHPOI, MAK.MCHPOI, MNORM.MCHPOI POINTEUR NNU.MPOVAL,NYP.MPOVAL,NUET.MPOVAL,NNORM.MPOVAL,NAK.MPOVAL POINTEUR NROG.MPOVAL,NRAP.MPOVAL -INC SMLMOTS CHARACTER*8 NOMZ,NOMI,NOMA,TYPE,CHAI,TYPC LOGICAL LOGI PARAMETER (NTB=1) CHARACTER*8 LTAB(NTB) DIMENSION KTAB(NTB),IXV(3) * SAVE IPAS * DATA LTAB/'KIZX '/,IPAS/0/ DATA LTAB/'KIZX '/ C***************************************************************************** CFPA C write(6,*)' DEBUT FPA ' IF(IRET.EQ.0)THEN WRITE(6,*)' Opérateur FPA :' WRITE(6,*)' On attend un ensemble de table soustypes' RETURN ENDIF MTABX=KTAB(1) IF(MTAB1.EQ.0)THEN WRITE(6,*)' Opérateur FPA :' WRITE(6,*)' On ne trouve pas l''indice EQEX ? ' RETURN ENDIF IF(KINC.EQ.0)THEN WRITE(6,*)' Opérateur FPA :' WRITE(6,*)' Il n''y a pas de table INCO ? ?.' RETURN ENDIF C*********************************************************************** C OPTIONS C IKOMP=0 KFORM=0 KIMPL=0 IAXI=0 IF(IFOMOD.EQ.0)IAXI=2 KOPTI=0 TYPE=' ' IF(TYPE.EQ.'TABLE')KOPTI=IENT IF(KOPTI.NE.0)THEN TYPE=' ' IF(KFORM.EQ.2)THEN WRITE(6,*)' Opérateur FPA ' WRITE(6,*)' Option VF non prevue ' RETURN ENDIF TYPE=' ' TYPE=' ' TYPE=' ' IF(KIMPL.NE.0)THEN WRITE(6,*)' Opérateur FPA ' WRITE(6,*)' Seule l''option explicite est prévue' RETURN ENDIF ENDIF C***************************************************************************** C IF(MTABZ.EQ.0)THEN WRITE(6,*)' Opérateur FPA ' WRITE(6,*)' On ne trouve pas l''indice DOMZ ? ' RETURN ENDIF IF(MELEMC.EQ.0)GO TO 90 C C*********************************************************************** C Lecture des arguments IF (IARG.NE.7)THEN WRITE(6,*)'Opérateur FPA : nombre d''argument incorrect' RETURN ENDIF C *** Lecture de NU **** IXV(1)=0 IXV(2)=1 IXV(3)=0 & MTABX,KINC,1,IXV,MNU,NNU,NPT1,NC1,IKNU,IRET) IF(IRET.EQ.0)RETURN IF(NNU.VPOCHA(1,1).LT.0.D0)THEN WRITE(6,*)'Opérateur FPA : ' WRITE(6,*)' Le 1er argument n''est pas convenable' WRITE(6,*)' Il s''agit de la viscosite. On attend un flottant > 0' RETURN ENDIF XNU=NNU.VPOCHA(1,1) C *** Lecture de YP **** IXV(1)=0 IXV(2)=1 IXV(3)=0 & MTABX,KINC,2,IXV,MYP,NYP,NPT2,NC2,IKYP,IRET) IF(IRET.EQ.0)RETURN IF(NYP.VPOCHA(1,1).LT.0.D0)THEN WRITE(6,*)'Opérateur FPA : ' WRITE(6,*)' Le 2eme argument n''est pas convenable' WRITE(6,*)' On attend un flottant > 0' RETURN ENDIF XYP=NYP.VPOCHA(1,1) C *** Lecture de uet **** IXV(1)=MELEMC IXV(2)=0 IXV(3)=0 & MTABX,KINC,3,IXV,MUET,NUET,NPT3,NC3,IKUET,IRET) IF(IRET.EQ.0)RETURN C *** Lecture de NORM *** IXV(1)=-MELEMC IXV(2)=0 IXV(3)=0 & MTABX,KINC,4,IXV,MNORM,NNORM,NPT4,NC4,IKNORM,IRET) IF(IRET.EQ.0)RETURN C *** Lecture de AK *** IXV(1)=MELEMC IXV(2)=0 IXV(3)=0 & MTABX,KINC,5,IXV,MAK,NAK,NPT5,NC5,IKAK,IRET) IF(IRET.EQ.0)RETURN C C *** Lecture de ROG *** IXV(1)=0 IXV(2)=0 IXV(3)=1 & MTABX,KINC,6,IXV,MROG,NROG,NPT6,NC6,IKROG,IRET) IF(IRET.EQ.0)RETURN C C *** Lecture de RAP **** IXV(1)=0 IXV(2)=1 IXV(3)=0 & MTABX,KINC,7,IXV,MRAP,NRAP,NPT7,NC7,IKRAP,IRET) IF(IRET.EQ.0)RETURN IF(NRAP.VPOCHA(1,1).LT.0.D0)THEN WRITE(6,*)'Opérateur FPA : ' WRITE(6,*)' Le 7eme argument n''est pas convenable' WRITE(6,*) &' Il s''agit du rayon des particules, on attend un flottant > 0' RETURN ENDIF C C C************************************************************************** C*****CALCUL DE AK(NU,YP,UET,NORM,ROG,RAP) C************************************************************************** C N = NAK.VPOCHA(/1) 1 NUET.VPOCHA,NNORM.VPOCHA,NAK.VPOCHA) C C CALL KFPA C CALL LIROBJ('CHPOINT',MCHPO1,1,IRET) C CALL LICHT(MCHPO1,MPOVA1,TYPE,IGEOM) C DO 20 I=1,N C NAK.VPOCHA(I,1)=MPOVA1.VPOCHA(I,1) C20 CONTINUE C************************************************************************** C CALL ECROBJ('CHPOINT',MAK) C CALL ECROBJ('CHPOINT',MTTA) XVAL=0.D0 CALL ECHIMP C*************************************************************************** C SEGDES MUET,MAK,NAK,MNORM C SEGDES MELEMC C SEGSUP MPOVA1,MCHPO1 90 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales