# 2D AUSM program (FORTRAN): problems with the pressure and vector implementations

 Register Blogs Members List Search Today's Posts Mark Forums Read

 January 7, 2016, 02:19 2D AUSM program (FORTRAN): problems with the pressure and vector implementations #1 Member   garry Join Date: Oct 2013 Posts: 41 Rep Power: 11 Hi everyone, I program a 2D AUSM code. But I do not know how to deal with the pressure part and the use of vector. There is pressure part on the energy equation in some codes I see on the website, but some there is not. I see the paper about AUSM scheme, and I find that the pressure part is only in one motion equation. Should the pressure part in all the motion equation? Appreciate it very much if anyone can help me with the problem. My AUSM code is as follows. Code: ```! i direction nx = XLNI(I,J) / SLNI(I,J) ny = YLNI(I,J) / SLNI(I,J) ! Left state rhoL = DENSL vL = VELXL ! velocity of x direction vyL = VELYL ! velocity of y direction qnL = vL*nx + vyL*ny pL = PRESL aL = sqrt(gamma*pL/rhoL) mL = qnL / aL eL = pL/(gamma-one)+half*(vL*vL+vyL+vyL) hL = eL + pL/rhoL ! Left state rhoR = DENSR vR = VELXR ! velocity of x direction vyR = VELYR ! velocity of y direction qnR = vR*nx + vyR*ny pR = PRESR aR = sqrt(gamma*pR/rhoR) mR = qnR / aR eR = pR/(gamma-one)+half*(vR*vR+vyR+vyR) hR = eR + pR/rhoR if(ABS(mL).le.one)then mLP = quarter*(mL + one)**two pLP = quarter*pL*(mL+one)**two*(two-mL) else mLP = half*(mL + ABS(mL)) pLP = half*pL*(mL+ABS(mL))/mL end if if(ABS(mR).le.one)then mRN = -quarter*(mR - one)**two pRN = quarter*pR*(mR-one)**two*(two+mR) else mRN = half*(mR - ABS(mR)) pRN = half*pR*(mR-ABS(mR))/mR end if m_Mid = mLP+mRN FLUXI(1,I,J) = half*m_Mid*(rhoL*aL + rhoR*aR)-half*ABS(m_Mid)*(rhoR*aR - rhoL*aL) FLUXI(2,I,J) = half*m_Mid*(rhoL*aL*vL + rhoR*aR*vR) - half*ABS(m_Mid)*(rhoR*aR*vR - rhoL*aL*vL)+ (pLP + pRN)*nx FLUXI(3,I,J) = half*m_Mid*(rhoL*aL*vyL + rhoR*aR*vyR) - half*ABS(m_Mid)*(rhoR*aR*vyR - rhoL*aL*vyL)+ (pLP + pRN)*ny FLUXI(4,I,J) = half*m_Mid*(rhoL*aL*hL + rhoR*aR*hR) - half*ABS(m_Mid)*(rhoR*aR*hR - rhoL*aL*hL) ! j direction nx = XLNJ(I,J) / SLNJ(I,J) ny = YLNJ(I,J) / SLNJ(I,J) ! Left state rhoL = DENSL vL = VELXL ! velocity of x direction vyL = VELYL ! velocity of y direction qnL = vL*nx + vyL*ny pL = PRESL aL = sqrt(gamma*pL/rhoL) mL = qnL / aL eL = pL/(gamma-one)+half*(vL*vL+vyL+vyL) hL = eL + pL/rhoL ! Left state rhoR = DENSR vR = VELXR ! velocity of x direction vyR = VELYR ! velocity of y direction qnR = vR*nx + vyR*ny pR = PRESR aR = sqrt(gamma*pR/rhoR) mR = qnR / aR eR = pR/(gamma-one)+half*(vR*vR+vyR+vyR) hR = eR + pR/rhoR if(ABS(mL).le.one)then mLP = quarter*(mL + one)**two pLP = quarter*pL*(mL+one)**two*(two-mL) else mLP = half*(mL + ABS(mL)) pLP = half*pL*(mL+ABS(mL))/mL end if if(ABS(mR).le.one)then mRN = -quarter*(mR - one)**two pRN = quarter*pR*(mR-one)**two*(two+mR) else mRN = half*(mR - ABS(mR)) pRN = half*pR*(mR-ABS(mR))/mR end if m_Mid = mLP+mRN FLUXJ(1,I,J) = half*m_Mid*(rhoL*aL + rhoR*aR)-half*ABS(m_Mid)& *(rhoR*aR - rhoL*aL) FLUXJ(2,I,J) = half*m_Mid*(rhoL*aL*vL + rhoR*aR*vR) - half*ABS(m_Mid)*(rhoR*aR*vR - rhoL*aL*vL)+ (pLP + pRN)*nx FLUXJ(3,I,J) = half*m_Mid*(rhoL*aL*vyL + rhoR*aR*vyR) - half*ABS(m_Mid)*(rhoR*aR*vyR - rhoL*aL*vyL)+ (pLP + pRN)*ny FLUXJ(4,I,J) = half*m_Mid*(rhoL*aL*hL + rhoR*aR*hR) - half*ABS(m_Mid)*(rhoR*aR*hR - rhoL*aL*hL) 12 CONTINUE DO 31 J=1,JN-1 DO 31 I=1,IN-1 FLUX(1,I,J)=FLUXI(1,I+1,J)*SLNI(I+1,J)-FLUXI(1,I,J)*SLNI(I,J)& +FLUXJ(1,I,J+1)*SLNJ(I,J+1)-FLUXJ(1,I,J)*SLNJ(I,J) FLUX(2,I,J)=FLUXI(2,I+1,J)*SLNI(I+1,J)-FLUXI(2,I,J)*SLNI(I,J)& +FLUXJ(2,I,J+1)*SLNJ(I,J+1)-FLUXJ(2,I,J)*SLNJ(I,J) FLUX(3,I,J)=FLUXI(3,I+1,J)*SLNI(I+1,J)-FLUXI(3,I,J)*SLNI(I,J)& +FLUXJ(3,I,J+1)*SLNJ(I,J+1)-FLUXJ(3,I,J)*SLNJ(I,J) FLUX(4,I,J)=FLUXI(4,I+1,J)*SLNI(I+1,J)-FLUXI(4,I,J)*SLNI(I,J)& +FLUXJ(4,I,J+1)*SLNJ(I,J+1)-FLUXJ(4,I,J)*SLNJ(I,J) 31 CONTINUE``` Last edited by wyldckat; January 9, 2016 at 10:05. Reason: Added [CODE][/CODE] markers

 January 7, 2016, 02:45 #2 Member   garry Join Date: Oct 2013 Posts: 41 Rep Power: 11 Hi, how to deal with this problem?

 December 16, 2018, 18:19 #3 New Member   Kriahan Join Date: Jun 2018 Posts: 3 Rep Power: 6 Hey, I am also trying to implement AUSM in 2D boundary layer problem. Please let me know if anyone knows the answer.

 Tags ausm, cfd, code, discretion