@@ -23,6 +23,7 @@ module OutputVariables
2323 use PhysicsStorage_iNS, only: INSRHO, INSRHOU, INSRHOV, INSRHOW, INSP
2424 use PhysicsStorage_MU, only: IMC, IMSQRHOU, IMSQRHOV, IMSQRHOW, IMP
2525 use PhysicsStorage_CAA, only: ICAARHO, ICAAU, ICAAV, ICAAW, ICAAP
26+ use PhysicsStorage_CAA, only: NCONSB, IBRHO, IBU, IBV, IBW, IBP, IBA2
2627
2728 private
2829 public no_of_outputVariables, preliminarNoOfVariables, askedVariables, getNoOfCommas
@@ -47,6 +48,7 @@ module OutputVariables
4748 enumerator :: Nxi_V, Neta_V, Nzeta_V, Nav_V, N_V
4849 enumerator :: Xi_V, Eta_V, Zeta_V, ThreeAxes_V, Axes_V, eID_V
4950 enumerator :: LAMBvec_V, LAMBx_V, LAMBy_V, LAMBz_V
51+ enumerator :: QBase_V, RHOBase_V, UBase_V, VBase_V, WBase_V, PBase_V, A2Base_V
5052 enumerator :: MPIRANK_V
5153 enumerator :: GRADV_V, UX_V, VX_V, WX_V
5254 enumerator :: UY_V, VY_V, WY_V, UZ_V, VZ_V, WZ_V
@@ -109,6 +111,13 @@ module OutputVariables
109111 character (len= STR_VAR_LEN), parameter :: LambxKey = " lamb_x"
110112 character (len= STR_VAR_LEN), parameter :: LambyKey = " lamb_y"
111113 character (len= STR_VAR_LEN), parameter :: LambzKey = " lamb_z"
114+ character (len= STR_VAR_LEN), parameter :: QBaseKey = " Qbase"
115+ character (len= STR_VAR_LEN), parameter :: RHOBaseKey = " rhobase"
116+ character (len= STR_VAR_LEN), parameter :: UBaseKey = " ubase"
117+ character (len= STR_VAR_LEN), parameter :: VBaseKey = " vbase"
118+ character (len= STR_VAR_LEN), parameter :: WBaseKey = " wbase"
119+ character (len= STR_VAR_LEN), parameter :: PBaseKey = " pbase"
120+ character (len= STR_VAR_LEN), parameter :: A2BaseKey = " A2base"
112121 character (len= STR_VAR_LEN), parameter :: mpiRankKey = " mpi_rank"
113122 character (len= STR_VAR_LEN), parameter :: gradVKey = " gradV"
114123 character (len= STR_VAR_LEN), parameter :: uxKey = " u_x"
@@ -171,6 +180,7 @@ module OutputVariables
171180 NxiKey, NetaKey, NzetaKey, NavKey, NKey, &
172181 XiKey, EtaKey, ZetaKey, ThreeAxesKey, AxesKey, eIDKey, &
173182 LambKey, LambxKey, LambyKey, LambzKey, &
183+ QBaseKey, RHOBaseKey, UBaseKey, VBaseKey, WBaseKey, PBaseKey, A2BaseKey, &
174184 mpiRankKey, &
175185 gradVKey, uxKey, vxKey, wxKey, &
176186 uyKey, vyKey, wyKey, uzKey, vzKey, wzKey, &
@@ -340,27 +350,55 @@ subroutine ComputeOutputVariables(noOutput, outputVarNames, N, e, output, refs,
340350 select case (outputVarNames(var))
341351
342352 case (RHO_V)
343- do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
344- output(var,i,j,k) = Q(IRHO,i,j,k)
345- end do ; end do ; end do
353+ select case (trim (flowEq))
354+ case (" caa" )
355+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
356+ output(var,i,j,k) = Q(ICAARHO,i,j,k)
357+ end do ; end do ; end do
358+ case default
359+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
360+ output(var,i,j,k) = Q(IRHO,i,j,k)
361+ end do ; end do ; end do
362+ end select
346363 if ( outScale ) output(var,:,:,:) = refs(RHO_REF) * output(var,:,:,:)
347364
348365 case (U_V)
349- do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
350- output(var,i,j,k) = Q(IRHOU,i,j,k) / Q(IRHO,i,j,k)
351- end do ; end do ; end do
366+ select case (trim (flowEq))
367+ case (" caa" )
368+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
369+ output(var,i,j,k) = Q(ICAAU,i,j,k)
370+ end do ; end do ; end do
371+ case default
372+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
373+ output(var,i,j,k) = Q(IRHOU,i,j,k) / Q(IRHO,i,j,k)
374+ end do ; end do ; end do
375+ end select
352376 if ( outScale ) output(var,:,:,:) = refs(V_REF) * output(var,:,:,:)
353377
354378 case (V_V)
355- do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
356- output(var,i,j,k) = Q(IRHOV,i,j,k) / Q(IRHO,i,j,k)
357- end do ; end do ; end do
379+ select case (trim (flowEq))
380+ case (" caa" )
381+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
382+ output(var,i,j,k) = Q(ICAAV,i,j,k)
383+ end do ; end do ; end do
384+ case default
385+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
386+ output(var,i,j,k) = Q(IRHOV,i,j,k) / Q(IRHO,i,j,k)
387+ end do ; end do ; end do
388+ end select
358389 if ( outScale ) output(var,:,:,:) = refs(V_REF) * output(var,:,:,:)
359390
360391 case (W_V)
361- do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
362- output(var,i,j,k) = Q(IRHOW,i,j,k) / Q(IRHO,i,j,k)
363- end do ; end do ; end do
392+ select case (trim (flowEq))
393+ case (" caa" )
394+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
395+ output(var,i,j,k) = Q(ICAAW,i,j,k)
396+ end do ; end do ; end do
397+ case default
398+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
399+ output(var,i,j,k) = Q(IRHOW,i,j,k) / Q(IRHO,i,j,k)
400+ end do ; end do ; end do
401+ end select
364402 if ( outScale ) output(var,:,:,:) = refs(V_REF) * output(var,:,:,:)
365403
366404 case (P_V)
@@ -383,6 +421,12 @@ subroutine ComputeOutputVariables(noOutput, outputVarNames, N, e, output, refs,
383421 output(var,i,j,k) = Q(IMP,i,j,k)
384422 end do ; end do ; end do
385423 if ( outScale ) output(var,:,:,:) = refs(RHO_REF) * POW2(refs(V_REF)) * output(var,:,:,:)
424+
425+ case (" caa" )
426+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
427+ output(var,i,j,k) = Q(ICAAP,i,j,k)
428+ end do ; end do ; end do
429+ if ( outScale ) output(var,:,:,:) = refs(RHO_REF) * POW2(refs(V_REF)) * output(var,:,:,:)
386430 end select
387431
388432 case (P0_V)
@@ -551,6 +595,42 @@ subroutine ComputeOutputVariables(noOutput, outputVarNames, N, e, output, refs,
551595 do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
552596 output(var,i,j,k) = Q(3 ,i,j,k)
553597 end do ; end do ; end do
598+
599+ case (RHOBase_V)
600+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
601+ output(var,i,j,k) = Q(IBRHO,i,j,k)
602+ end do ; end do ; end do
603+ if ( outScale ) output(var,:,:,:) = refs(RHO_REF) * output(var,:,:,:)
604+
605+ case (UBase_V)
606+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
607+ output(var,i,j,k) = Q(IBU,i,j,k)
608+ end do ; end do ; end do
609+ if ( outScale ) output(var,:,:,:) = refs(V_REF) * output(var,:,:,:)
610+
611+ case (VBase_V)
612+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
613+ output(var,i,j,k) = Q(IBV,i,j,k)
614+ end do ; end do ; end do
615+ if ( outScale ) output(var,:,:,:) = refs(V_REF) * output(var,:,:,:)
616+
617+ case (WBase_V)
618+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
619+ output(var,i,j,k) = Q(IBW,i,j,k)
620+ end do ; end do ; end do
621+ if ( outScale ) output(var,:,:,:) = refs(V_REF) * output(var,:,:,:)
622+
623+ case (PBase_V)
624+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
625+ output(var,i,j,k) = Q(IBP,i,j,k)
626+ end do ; end do ; end do
627+ if ( outScale ) output(var,:,:,:) = refs(RHO_REF) * POW2(refs(V_REF)) * output(var,:,:,:)
628+
629+ case (A2Base_V)
630+ do k = 0 , N(3 ) ; do j = 0 , N(2 ) ; do i = 0 , N(1 )
631+ output(var,i,j,k) = Q(IBA2,i,j,k)
632+ end do ; end do ; end do
633+ if ( outScale ) output(var,:,:,:) = refs(V_REF) * output(var,:,:,:)
554634
555635 case (Nxi_V)
556636 output(var,:,:,:) = e % Nsol(1 )
@@ -972,6 +1052,9 @@ integer function outputVariablesForVariable(iVar)
9721052
9731053 case (LAMBvec_V)
9741054 outputVariablesForVariable = 3
1055+
1056+ case (QBase_V)
1057+ outputVariablesForVariable = NCONSB
9751058
9761059 case default
9771060 outputVariablesForVariable = 1
@@ -1000,6 +1083,8 @@ subroutine OutputVariablesForPreliminarVariable(iVar, output)
10001083 output = (/ C_V/ )
10011084 case (" mu" )
10021085 output = (/ C_V, SQRHOU_V, SQRHOV_V, SQRHOW_V, P_V/ )
1086+ case (" caa" )
1087+ output = (/ RHO_V, U_V, V_V, W_V, P_V/ )
10031088 end select
10041089
10051090 case (QDot_V)
@@ -1054,6 +1139,9 @@ subroutine OutputVariablesForPreliminarVariable(iVar, output)
10541139
10551140 case (LAMBvec_V)
10561141 output = (/ LAMBx_V, LAMBy_V, LAMBz_V/ )
1142+
1143+ case (QBase_V)
1144+ output = (/ RHOBase_V, UBase_V, VBase_V, WBase_V, PBase_V, A2Base_V/ )
10571145
10581146 case default
10591147 output = iVar
0 commit comments