c
C file-name GXPROFIL.HTM 020100 C**** SUBROUTINE GXPROF is called from group 13 of GREX3, by setting C the value ascribed to GROUND in the COVAL statement. The C subroutine is entered only when the patch name begins with C the character 'PROF'. C C.... The dummy FI14 is the value of H1, which is set through FIINIT(H1) C in group 11 of the SATELLITE. C C.... The library cases 190-192 make use of it. C C.... The following subroutines are used here: C FN2(Y,X,A,B) Y = A+B*X C FN4(Y,X,A,B,C,D) Y = A+B*X+C*X**2+D*X**3 C FN8(Y,X,A,B,C,D) Y = A*(X+B)**C+D C FN23(Y,A) Y = AMIN1(Y,A) C FN25(Y,A) Y = A*Y C FN28(Y,X,A) Y = A/X C FN37(Y,X,A) Y = Y*X**A C SUBROUTINE GXPROF(DEN,RHO,FI14) C INCLUDE 'farray' INCLUDE 'grdloc' INCLUDE 'satgrd' COMMON /IGE/IXF,IXL,IYF,IYL,IREG,NZSTEP,IGR,ISC,IRUN,IZSTEP,ITHYD, 1 ISWEEP,ISTEP,INDVAR,VAL,CO,NDIREC,WALDIS,PATGEO,IGES20(6) INTEGER DEN,VAL,CO,WALDIS,PATGEO COMMON /NAMFN/NAMFUN,NAMSUB CHARACTER*6 NAMFUN,NAMSUB LOGICAL GRN C NAMSUB = 'GXPROF' IF(ISC.EQ.15) THEN IF(INDVAR.EQ.W1) THEN CALL FN8(VAL,YG2D,PROFD/PROFB**PROFC,0.,PROFC,0.) CALL FN23(VAL,PROFD) ELSEIF(INDVAR.EQ.P1) THEN C.... PROFB is boundary width C PROFC is a power-factor C PROFD is the free stream velocity CALL FN8(VAL,YG2D,PROFD/PROFB**PROFC,0.,PROFC,0.) CALL FN23(VAL,PROFD) IF(GRN(RHO)) THEN CALL FN26(VAL,DEN) ELSE CALL FN25(VAL,RHO) ENDIF ELSEIF(INDVAR.EQ.KE) THEN C.... CMUCD is the turbulence-model constant CALL FN2(VAL,YG2D,0.0,1./PROFB) CALL FN23(VAL,1.0) ACON = 0.5*PROFD*PROFD*PROFA/SQRT(CMUCD) CALL FN4(VAL,VAL,ACON,0.,-3.*ACON,2.*ACON) ELSEIF(INDVAR.EQ.EP) THEN C.... CD and AK are the turbulence-model constants CALL FN2(VAL,YG2D,0.0,AK) CALL FN23(VAL,.09*PROFB) CALL FN28(VAL,VAL,CD) CALL FN37(VAL,12,1.5) ELSEIF(INDVAR.EQ.H1) THEN C.... TEMP0 is the wall temperature, FI14 is the free stream temperature CALL FN8(VAL,YG2D,PROFD/PROFB**PROFC,0.,PROFC,0.) CALL FN23(VAL,PROFD) CALL FN2(VAL,VAL,TEMP0,(FI14-TEMP0)/PROFD) ENDIF ENDIF END c