69 TYPE(t_region
),
POINTER :: pregion
75 CHARACTER(CHRLEN) :: rcsidentstring
76 INTEGER :: icg,indmol,intrplmixtmodel,ipcl,npcls
77 INTEGER,
POINTER,
DIMENSION(:,:) :: paiv
79 REAL(RFREAL) ::
dx,
dy,
dz,gc,mm,p,
r
80 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: pcv,pdv,pdvmixt,pgvmixt
81 REAL(RFREAL),
POINTER,
DIMENSION(:,:,:) :: pgrad
84 TYPE(t_grid),
POINTER :: pgrid
85 TYPE(t_plag),
POINTER :: pplag
86 TYPE(t_mixt),
POINTER :: pmixt
92 rcsidentstring =
'$RCSfile: PLAG_RFLU_CorrectMixtProperties.F90,v $ $Revision: 1.4 $'
94 global => pregion%global
97 'PLAG_RFLU_CorrectMixtProperties.F90' )
103 pmixt => pregion%mixt
104 pgrid => pregion%grid
105 pplag => pregion%plag
110 npcls = pregion%plag%nPcls
111 indmol = pregion%mixtInput%indMol
113 intrplmixtmodel = pregion%plagInput%intrplMixtModel
122 pgrad => pregion%mixt%gradCell
136 IF ( pmixt%cvState /= cv_mixt_state_duvwp )
THEN
137 CALL
errorstop(global,err_cv_state_invalid,__line__)
144 IF ( intrplmixtmodel /= zeroth_order .AND. &
145 pregion%mixtInput%spaceOrder == 1 )
THEN
146 CALL
errorstop(global,err_plag_intrplmodel,__line__)
153 SELECT CASE ( intrplmixtmodel )
154 CASE ( zeroth_order )
157 icg = paiv(aiv_plag_icells,ipcl)
159 dx = pcv(cv_plag_xpos,ipcl) - pgrid%cofg(xcoord,icg)
160 dy = pcv(cv_plag_ypos,ipcl) - pgrid%cofg(ycoord,icg)
161 dz = pcv(cv_plag_zpos,ipcl) - pgrid%cofg(zcoord,icg)
163 pdv(dv_plag_uvelmixt,ipcl) = pdv(dv_plag_uvelmixt,ipcl) &
164 + pgrad(xcoord,grc_mixt_xvel,icg)*
dx &
165 + pgrad(ycoord,grc_mixt_xvel,icg)*
dy &
166 + pgrad(zcoord,grc_mixt_xvel,icg)*
dz
167 pdv(dv_plag_vvelmixt,ipcl) = pdv(dv_plag_vvelmixt,ipcl) &
168 + pgrad(xcoord,grc_mixt_yvel,icg)*
dx &
169 + pgrad(ycoord,grc_mixt_yvel,icg)*
dy &
170 + pgrad(zcoord,grc_mixt_yvel,icg)*
dz
171 pdv(dv_plag_wvelmixt,ipcl) = pdv(dv_plag_wvelmixt,ipcl) &
172 + pgrad(xcoord,grc_mixt_zvel,icg)*
dx &
173 + pgrad(ycoord,grc_mixt_zvel,icg)*
dy &
174 + pgrad(zcoord,grc_mixt_zvel,icg)*
dz
175 pdv(dv_plag_presmixt,ipcl) = pdv(dv_plag_presmixt,ipcl) &
176 + pgrad(xcoord,grc_mixt_pres,icg)*
dx &
177 + pgrad(ycoord,grc_mixt_pres,icg)*
dy &
178 + pgrad(zcoord,grc_mixt_pres,icg)*
dz
179 pdv(dv_plag_densmixt,ipcl) = pdv(dv_plag_densmixt,ipcl) &
180 + pgrad(xcoord,grc_mixt_dens,icg)*
dx &
181 + pgrad(ycoord,grc_mixt_dens,icg)*
dy &
182 + pgrad(zcoord,grc_mixt_dens,icg)*
dz
185 SELECT CASE ( pregion%mixtInput%gasModel )
186 CASE ( gas_model_tcperf,gas_model_mixt_tcperf )
188 icg = paiv(aiv_plag_icells,ipcl)
190 mm = pgvmixt(gv_mixt_mol,indmol*icg)
193 r = pdv(dv_plag_densmixt,ipcl)
194 p = pdv(dv_plag_presmixt,ipcl)
199 CALL
errorstop( global,err_reached_default,__line__ )
202 CASE ( second_order )
203 CALL
errorstop( global,err_reached_default,__line__ )
205 CALL
errorstop( global,err_reached_default,__line__ )
subroutine plag_rflu_correctmixtproperties(pRegion)
real(rfreal) function mixtperf_r_m(M)
subroutine registerfunction(global, funName, fileName)
real(rfreal) function mixtperf_t_dpr(D, P, R)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)