| Class | DExnerDt |
| In: |
../src/utils/dexnerdt.f90
|
圧力方程式の, 温位変化・凝結成分の混合比の時間変化による項を評価 するためのモジュール
| Function : | |
| xy_DExnerDt_xy_xyf(imin:imax,jmin:jmax) : | real(DP) |
| xy_DPTempDt(imin:imax,jmin:jmax) : | real(DP), intent(in) |
| xyf_DQMixDt(imin:imax,jmin:jmax,ncmax) : | real(DP), intent(in) |
| kz : | integer, intent(in) |
function xy_DExnerDt_xy_xyf( xy_DPTempDt, xyf_DQMixDt, kz )
!暗黙の型宣言禁止
implicit none
!入力変数
real(DP), intent(in) :: xy_DPTempDt(imin:imax,jmin:jmax)
real(DP), intent(in) :: xyf_DQMixDt(imin:imax,jmin:jmax,ncmax)
integer, intent(in) :: kz
real(DP) :: xy_DExnerDt_xy_xyf(imin:imax,jmin:jmax)
real(DP) :: xyf_DQMixDtPerMolWt(imin:imax,jmin:jmax,ncmax)
integer :: s
do s = 1, ncmax
xyf_DQMixDtPerMolWt(:,:,s) = xyf_DQMixDt(:,:,s) / MolWtWet(s)
end do
xy_DExnerDt_xy_xyf = (xyz_VelSoundBZ(:,:,kz) ** 2.0d0) / (CpDry * xyz_VPTempBZ(:,:,kz)) * ( xy_DPTempDt / xyz_PTempBZ(:,:,kz) + sum(xyf_DQMixDtPerMolWt(:,:,1:GasNum),3) / ( 1.0d0 / MolWtDry + xyz_QMixBZPerMolWt(:,:,kz) ) - sum(xyf_DQMixDt,3) / ( 1.0d0 + xyz_QMixBZ(:,:,kz) ) )
end function xy_DExnerDt_xy_xyf
| Function : | |
| xyz_DExnerDt_xyz(imin:imax,jmin:jmax,kmin:kmax) : | real(DP) |
| xyz_DPTempDt(imin:imax,jmin:jmax,kmin:kmax) : | real(DP), intent(in) |
function xyz_DExnerDt_xyz( xyz_DPTempDt )
!暗黙の型宣言禁止
implicit none
!入力変数
real(DP), intent(in) :: xyz_DPTempDt(imin:imax,jmin:jmax,kmin:kmax)
real(DP) :: xyz_DExnerDt_xyz(imin:imax,jmin:jmax,kmin:kmax)
xyz_DExnerDt_xyz = (xyz_VelSoundBZ ** 2.0d0) / (CpDry * xyz_VPTempBZ) * ( xyz_DPTempDt / xyz_PTempBZ )
end function xyz_DExnerDt_xyz
| Function : | |
| xyz_DExnerDt_xyz_xyzf(imin:imax,jmin:jmax,kmin:kmax) : | real(DP) |
| xyz_DPTempDt(imin:imax,jmin:jmax,kmin:kmax) : | real(DP), intent(in) |
| xyzf_DQMixDt(imin:imax,jmin:jmax,kmin:kmax,ncmax) : | real(DP), intent(in) |
function xyz_DExnerDt_xyz_xyzf( xyz_DPTempDt, xyzf_DQMixDt )
!暗黙の型宣言禁止
implicit none
!入力変数
real(DP), intent(in) :: xyz_DPTempDt(imin:imax,jmin:jmax,kmin:kmax)
real(DP), intent(in) :: xyzf_DQMixDt(imin:imax,jmin:jmax,kmin:kmax,ncmax)
real(DP) :: xyz_DExnerDt_xyz_xyzf(imin:imax,jmin:jmax,kmin:kmax)
real(DP) :: xyzf_DQMixDtPerMolWt(imin:imax,jmin:jmax,kmin:kmax,ncmax)
integer :: s
do s = 1, ncmax
xyzf_DQMixDtPerMolWt(:,:,:,s) = xyzf_DQMixDt(:,:,:,s) / MolWtWet(s)
end do
xyz_DExnerDt_xyz_xyzf = (xyz_VelSoundBZ ** 2.0d0) / (CpDry * xyz_VPTempBZ) * ( xyz_DPTempDt / xyz_PTempBZ + sum(xyzf_DQMixDtPerMolWt(:,:,:,1:GasNum),4) / ( 1.0d0 / MolWtDry + xyz_QMixBZPerMolWt ) - sum(xyzf_DQMixDt,4) / ( 1.0d0 + xyz_QMixBZ ) )
end function xyz_DExnerDt_xyz_xyzf
| Function : | |
| xyz_DExnerDt_xyzf(imin:imax,jmin:jmax,kmin:kmax) : | real(DP) |
| xyzf_DQMixDt(imin:imax,jmin:jmax,kmin:kmax,ncmax) : | real(DP), intent(in) |
function xyz_DExnerDt_xyzf( xyzf_DQMixDt )
!暗黙の型宣言禁止
implicit none
!入力変数
real(DP), intent(in) :: xyzf_DQMixDt(imin:imax,jmin:jmax,kmin:kmax,ncmax)
real(DP) :: xyz_DExnerDt_xyzf(imin:imax,jmin:jmax,kmin:kmax)
real(DP) :: xyzf_DQMixDtPerMolWt(imin:imax,jmin:jmax,kmin:kmax,ncmax)
integer :: s
do s = 1, ncmax
xyzf_DQMixDtPerMolWt(:,:,:,s) = xyzf_DQMixDt(:,:,:,s) / MolWtWet(s)
end do
xyz_DExnerDt_xyzf = (xyz_VelSoundBZ ** 2.0d0) / (CpDry * xyz_VPTempBZ) * ( + sum(xyzf_DQMixDtPerMolWt(:,:,:,1:GasNum),4) / ( 1.0d0 / MolWtDry + xyz_QMixBZPerMolWt ) - sum(xyzf_DQMixDt,4) / ( 1.0d0 + xyz_QMixBZ ) )
end function xyz_DExnerDt_xyzf