Skip to content

Commit fc2b863

Browse files
committed
fix exact rieman solver MU
1 parent d8c76a2 commit fc2b863

7 files changed

Lines changed: 38 additions & 35 deletions

File tree

Solver/src/libs/physics/multiphase/RiemannSolvers_MU.f90

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ subroutine ExactRiemannSolver(QLeft, QRight, rhoL, rhoR, muL, muR, nHat, t1, t2,
235235
real(kind=RP) :: cL,uL, vL, wL, pL, invRhoL, invSqrtRhoL, lambdaMinusL, lambdaPlusL, invMa2L
236236
real(kind=RP) :: cR,uR, vR, wR, pR, invRhoR, invSqrtRhoR, lambdaMinusR, lambdaPlusR, invMa2R
237237
real(kind=RP) :: rhoStarL, rhoStarR, uStar, pStar, rhoStar, vStar, wStar, cuStar, halfRhouStar
238-
real(kind=RP) :: QLRot(NCONS), QRRot(NCONS)
238+
real(kind=RP) :: QLRot(NCONS), QRRot(NCONS), invMa2Avg, halfRhouL, halfRhouR
239239
real(kind=RP) :: lambda_mu = 0.0_RP
240240

241241
!
@@ -260,6 +260,7 @@ subroutine ExactRiemannSolver(QLeft, QRight, rhoL, rhoR, muL, muR, nHat, t1, t2,
260260
! Get the left and right face inv Mach^2
261261
invMa2L = dimensionless % invMa2(1) * min(max(cL,0.0_RP),1.0_RP) + dimensionless % invMa2(2) * (1.0_RP - min(max(cL,0.0_RP),1.0_RP))
262262
invMa2R = dimensionless % invMa2(1) * min(max(cR,0.0_RP),1.0_RP) + dimensionless % invMa2(2) * (1.0_RP - min(max(cR,0.0_RP),1.0_RP))
263+
invMa2Avg = 0.5_RP * (invMa2L/rhoL + invMa2R/rhoR) ! This is c^2 (normalized with Vref)
263264
!
264265
! Compute the Star Region
265266
! -----------------------
@@ -288,15 +289,17 @@ subroutine ExactRiemannSolver(QLeft, QRight, rhoL, rhoR, muL, muR, nHat, t1, t2,
288289

289290
cuStar = 0.5_RP*(cL*uL + cR*uR)
290291
halfRhouStar = 0.5_RP*rhoStar*uStar
292+
halfRhouL = 0.5_RP*rhoL*uL
293+
halfRhouR = 0.5_RP*rhoR*uR
291294
!
292295
! - Add first the common (conservative) part
293296
!fL = [cuStar+lambda_mu*(muL-muR), rhoStar*uStar*uStar + pStar, rhoStar*uStar*vStar, rhoStar*uStar*wStar, dimensionless % invMa2 * uStar]
294-
fL = [cuStar+lambda_mu*(muL-muR), rhoStar*uStar*uStar + pStar, rhoStar*uStar*vStar, rhoStar*uStar*wStar, 0.5*(invMa2L+invMa2R) * uStar]
297+
fL = [cuStar+lambda_mu*(muL-muR), halfRhouStar*uStar + pStar, halfRhouStar*vStar, halfRhouStar*wStar, 0.0_RP] ! 0.5*(invMa2L+invMa2R) * uStar
295298
fR = fL
296299
!
297300
! - Add the non--conservative part
298-
fL = fL + [0.0_RP, cL*0.5_RP*(muR-muL)-halfRhouStar*uL,-halfRhouStar*vL, -halfRhouStar*wL, -invMa2L*uL]
299-
fR = fR + [0.0_RP, cR*0.5_RP*(muL-muR)-halfRhouStar*uR,-halfRhouStar*vR, -halfRhouStar*wR, -invMa2R*uR]
301+
fL = fL + [0.0_RP, cL*0.5_RP*(muR-muL)+ 0.5_RP*halfRhouStar*(uStar-uL),0.5_RP*halfRhouStar*(vStar-vL), 0.5_RP*halfRhouStar*(wStar-wL), (invMa2L)*(uStar-uL)]
302+
fR = fR + [0.0_RP, cR*0.5_RP*(muL-muR)+ 0.5_RP*halfRhouStar*(uStar-uR),0.5_RP*halfRhouStar*(vStar-vR), 0.5_RP*halfRhouStar*(wStar-wR), (invMa2R)*(uStar-uR)]
300303
!
301304
! ************************************************
302305
! Return momentum equations to the cartesian frame

Solver/test/Multiphase/ActuatorLineInterpolation/SETUP/ProblemFile.f90

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -591,17 +591,17 @@ SUBROUTINE UserDefinedFinalize(mesh, time, iter, maxResidual &
591591
! --------------------------------------------------
592592
!
593593
#if defined(MULTIPHASE)
594-
594+
595595
real(kind=RP), parameter :: residuals(5) = [ 0.0000000000000000E+00_RP,&
596-
6.6814255992417415E+01_RP,&
597-
2.7001087612424890E-01_RP,&
598-
2.9121154361911261E-01_RP,&
599-
2.2437631252185120E+03_RP]
596+
6.6848885010291738E+01_RP,&
597+
0.2700344444108091E+00_RP,&
598+
0.2914829241166736E+00_RP,&
599+
2.2442342918587788E+03_RP]
600600

601601
real(kind=RP), parameter :: source(5) = [ 0.0000000000000000E+00_RP,&
602-
-5.9825590522814762E-03_RP,&
603-
1.9265667284469030E-05_RP,&
604-
-1.9887356284781115E-05_RP,&
602+
-5.9825397593181728E-03_RP,&
603+
0.0000192653654527E+00_RP,&
604+
-1.9887137428830E-05_RP,&
605605
0.0000000000000000E+00_RP]
606606
!
607607
CALL initializeSharedAssertionsManager

Solver/test/Multiphase/Convergence/SETUP/ProblemFile.f90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -518,11 +518,11 @@ SUBROUTINE UserDefinedFinalize(mesh, time, iter, maxResidual &
518518
real(kind=RP), intent(in) :: elapsedTime
519519
real(kind=RP), intent(in) :: CPUTime
520520
real(kind=RP) :: x, y, z, c, locErr(5), phi, u, v, w, p, rho, rho0
521-
real(kind=RP), parameter :: saved_errors(5) = [1.6902480371161803E-06_RP, &
522-
1.9409444210673717E-05_RP, &
521+
real(kind=RP), parameter :: saved_errors(5) = [1.6900393871161803E-06_RP, &
522+
1.9475704000673717E-05_RP, &
523523
7.4217194511428453E-17_RP, &
524-
1.9836864099170690E-05_RP, &
525-
1.7108477257107393E-04_RP]
524+
1.9905579979170690E-05_RP, &
525+
1.7071338898107393E-04_RP]
526526
integer :: i, j,k, eID
527527
CHARACTER(LEN=29) :: testName = "Multiphase convergence"
528528
real(kind=RP) :: error(5)

Solver/test/Multiphase/Monopole_pAdaptationRL/SETUP/ProblemFile.f90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -708,11 +708,11 @@ SUBROUTINE UserDefinedFinalize(mesh, time, iter, maxResidual &
708708
! -----------------------------------------------------------------
709709
!
710710
#if defined(MULTIPHASE)
711-
real(kind=RP), parameter :: residuals(5) = [ 6.7612332904056904E+00_RP, &
712-
1.3126856239198450E+00_RP, &
713-
1.3630698469480864E+00_RP, &
711+
real(kind=RP), parameter :: residuals(5) = [ 6.7612328583940799E+00_RP, &
712+
0.9763199093778634E+00_RP, &
713+
1.2899466187989059E+00_RP, &
714714
4.5116531519710653E-15_RP, &
715-
7.2809447388229482E+03_RP]
715+
7.3914022702220409E+03_RP]
716716

717717
CALL initializeSharedAssertionsManager
718718
sharedManager => sharedAssertionsManager()

Solver/test/Multiphase/Pipe/SETUP/ProblemFile.f90

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -559,11 +559,11 @@ SUBROUTINE UserDefinedFinalize(mesh, time, iter, maxResidual &
559559
TYPE(FTAssertionsManager), POINTER :: sharedManager
560560
LOGICAL :: success
561561
real(kind=RP), parameter :: residuals_saved(5) = [115.279163488786_RP, &
562-
218.587148493799_RP, &
563-
147.034918533523_RP, &
564-
865.653084759232_RP, &
565-
72786.6199585908_RP ]
566-
real(kind=RP), parameter :: entropyRate_saved = -49.577609575581214_RP
562+
221.87180239169732_RP, &
563+
148.44094157191935_RP, &
564+
855.40356932873965_RP, &
565+
72790.732640089103_RP ]
566+
real(kind=RP), parameter :: entropyRate_saved = -49.587092808563099_RP
567567
integer :: i
568568

569569
CALL initializeSharedAssertionsManager

Solver/test/Multiphase/RisingBubble/SETUP/ProblemFile.f90

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -488,12 +488,12 @@ SUBROUTINE UserDefinedFinalize(mesh, time, iter, maxResidual &
488488
real(kind=RP), parameter :: area_saved = 2.0280805425949214E-01_RP
489489
real(kind=RP), parameter :: xcog_saved = 1.0140441754564830E-01_RP
490490
real(kind=RP), parameter :: risevel_saved = 3.8407823048394762E-04_RP
491-
real(kind=RP), parameter :: residuals_saved(5) = [7.2798764748471467E-01_RP, &
492-
4.1495228250435803E+00_RP, &
491+
real(kind=RP), parameter :: residuals_saved(5) = [7.2798764883600600E-01_RP, &
492+
4.1495193972979930E+00_RP, &
493493
8.9537579555904704E-14_RP, &
494-
3.2663420227766222E+00_RP, &
495-
1.5783130449534988E+02_RP]
496-
real(kind=RP), parameter :: entropyRate_saved = -6.5422251656711682E-03_RP
494+
3.2663393470370040E+00_RP, &
495+
1.5783130280842403E+02_RP]
496+
real(kind=RP), parameter :: entropyRate_saved = -6.5422252873259532E-03_RP
497497

498498
CALL initializeSharedAssertionsManager
499499
sharedManager => sharedAssertionsManager()

Solver/test/Multiphase/RisingBubbleVreman/SETUP/ProblemFile.f90

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -488,12 +488,12 @@ SUBROUTINE UserDefinedFinalize(mesh, time, iter, maxResidual &
488488
real(kind=RP), parameter :: area_saved = 2.0280805425949214E-01_RP
489489
real(kind=RP), parameter :: xcog_saved = 1.014044175764861E-01_RP
490490
real(kind=RP), parameter :: risevel_saved = 3.840682144321292E-04_RP
491-
real(kind=RP), parameter :: residuals_saved(5) = [7.2798703362831130E-01_RP, &
492-
4.1415375876201672E+00_RP, &
491+
real(kind=RP), parameter :: residuals_saved(5) = [7.2798703496061990E-01_RP, &
492+
4.1415341863462345E+00_RP, &
493493
9.7885082257257918E-14_RP, &
494-
3.2583693013291191E+00_RP, &
495-
1.5785032659456590E+02_RP]
496-
real(kind=RP), parameter :: entropyRate_saved = -6.5422250365241488E-03_RP
494+
3.2583666451827610E+00_RP, &
495+
1.5785032494113227E+02_RP]
496+
real(kind=RP), parameter :: entropyRate_saved = -6.54222526617653800E-03_RP
497497

498498
CALL initializeSharedAssertionsManager
499499
sharedManager => sharedAssertionsManager()

0 commit comments

Comments
 (0)