FE-Project
Loading...
Searching...
No Matches
scale_atm_dyn_dgm_none.F90
Go to the documentation of this file.
1!-------------------------------------------------------------------------------
2!> module FElib / Fluid dyn solver / Atmosphere / Regional nonhydrostatic model / Skip dynamical process
3!!
4!! @par Description
5!!
6!! @author Yuta Kawai, Team SCALE
7!<
8!-------------------------------------------------------------------------------
9#include "scaleFElib.h"
11 !-----------------------------------------------------------------------------
12 !
13 !++ Used modules
14 !
15 use scale_precision
16 use scale_io
17 use scale_prc
18 use scale_prof
19 use scale_const, only: &
20 grav => const_grav, &
21 rdry => const_rdry, &
22 cpdry => const_cpdry, &
23 cvdry => const_cvdry, &
24 pres00 => const_pre00
25
27 use scale_element_base, only: &
36
38 dens_vid => prgvar_ddens_id, rhot_vid => prgvar_drhot_id, &
39 momx_vid => prgvar_momx_id, momy_vid => prgvar_momy_id, &
40 momz_vid => prgvar_momz_id, &
42
43
44 !-----------------------------------------------------------------------------
45 implicit none
46 private
47 !-----------------------------------------------------------------------------
48 !
49 !++ Public procedures
50 !
51 public :: atm_dyn_dgm_none_init
54
55 !-----------------------------------------------------------------------------
56 !
57 !++ Public parameters & variables
58 !
59
60 !-----------------------------------------------------------------------------
61 !
62 !++ Private procedures & variables
63 !
64 !-------------------
65
66contains
67 subroutine atm_dyn_dgm_none_init( mesh )
68 implicit none
69 class(meshbase3d), intent(in) :: mesh
70 !--------------------------------------------
71 return
72 end subroutine atm_dyn_dgm_none_init
73
75 implicit none
76 !--------------------------------------------
77 return
78 end subroutine atm_dyn_dgm_none_final
79
80 !-------------------------------
81
82!OCL SERIAL
84 DENS_dt, MOMX_dt, MOMY_dt, MOMZ_dt, RHOT_dt, & ! (out)
85 ddens_, momx_, momy_, momz_, drhot_, dpres_, & ! (in)
86 dens_hyd, pres_hyd, pres_hyd_ref, therm_hyd, & ! (in)
87 coriolis, rtot, cvtot, cptot, dphyddx, dphyddy, & ! (in)
88 element3d_operation, dx, dy, dz, sx, sy, sz, lift, & ! (in)
89 lmesh, elem, lmesh2d, elem2d ) ! (in)
90
91 implicit none
92
93 class(localmesh3d), intent(in) :: lmesh
94 class(elementbase3d), intent(in) :: elem
95 class(localmesh2d), intent(in) :: lmesh2d
96 class(elementbase2d), intent(in) :: elem2d
97 class(elementoperationbase3d), intent(in) :: element3d_operation
98 type(sparsemat), intent(in) :: dx, dy, dz, sx, sy, sz, lift
99 real(rp), intent(out) :: dens_dt(elem%np,lmesh%nea)
100 real(rp), intent(out) :: momx_dt(elem%np,lmesh%nea)
101 real(rp), intent(out) :: momy_dt(elem%np,lmesh%nea)
102 real(rp), intent(out) :: momz_dt(elem%np,lmesh%nea)
103 real(rp), intent(out) :: rhot_dt(elem%np,lmesh%nea)
104 real(rp), intent(in) :: ddens_(elem%np,lmesh%nea)
105 real(rp), intent(in) :: momx_(elem%np,lmesh%nea)
106 real(rp), intent(in) :: momy_(elem%np,lmesh%nea)
107 real(rp), intent(in) :: momz_(elem%np,lmesh%nea)
108 real(rp), intent(in) :: drhot_(elem%np,lmesh%nea)
109 real(rp), intent(in) :: dpres_(elem%np,lmesh%nea)
110 real(rp), intent(in) :: dens_hyd(elem%np,lmesh%nea)
111 real(rp), intent(in) :: pres_hyd(elem%np,lmesh%nea)
112 real(rp), intent(in) :: pres_hyd_ref(elem%np,lmesh%nea)
113 real(rp), intent(in) :: therm_hyd(elem%np,lmesh%nea)
114 real(rp), intent(in) :: coriolis(elem2d%np,lmesh2d%nea)
115 real(rp), intent(in) :: rtot(elem%np,lmesh%nea)
116 real(rp), intent(in) :: cvtot(elem%np,lmesh%nea)
117 real(rp), intent(in) :: cptot(elem%np,lmesh%nea)
118 real(rp), intent(in) :: dphyddx(elem%np,lmesh%nea)
119 real(rp), intent(in) :: dphyddy(elem%np,lmesh%nea)
120
121 integer :: ke
122 !------------------------------------------------------------------------
123
124 call prof_rapstart('cal_dyn_tend_interior', 3)
125
126 !$omp parallel do private( ke )
127 do ke = lmesh%NeS, lmesh%NeE
128 dens_dt(:,ke) = 0.0_rp
129 momx_dt(:,ke) = 0.0_rp
130 momy_dt(:,ke) = 0.0_rp
131 momz_dt(:,ke) = 0.0_rp
132 rhot_dt(:,ke) = 0.0_rp
133 end do
134 call prof_rapend('cal_dyn_tend_interior', 3)
135
136 return
137 end subroutine atm_dyn_dgm_none_cal_tend
138end module scale_atm_dyn_dgm_none
module FElib / Fluid dyn solver / Atmosphere / Regional nonhydrostatic model / Skip dynamical process
subroutine, public atm_dyn_dgm_none_init(mesh)
subroutine, public atm_dyn_dgm_none_cal_tend(dens_dt, momx_dt, momy_dt, momz_dt, rhot_dt, ddens_, momx_, momy_, momz_, drhot_, dpres_, dens_hyd, pres_hyd, pres_hyd_ref, therm_hyd, coriolis, rtot, cvtot, cptot, dphyddx, dphyddy, element3d_operation, dx, dy, dz, sx, sy, sz, lift, lmesh, elem, lmesh2d, elem2d)
subroutine, public atm_dyn_dgm_none_final()
module FElib / Fluid dyn solver / Atmosphere / Nonhydrostatic model / Common
real(rp), dimension(:,:), allocatable, public intrpmat_vpordm1
module FElib / Element / Base
module FElib / Element / hexahedron
module FElib / Element / Operation / Base
module FElib / Mesh / Local 2D
module FElib / Mesh / Local 3D
module FElib / Mesh / Base 3D
module FElib / Data / base
Module common / sparsemat.
Derived type representing a 2D reference element.
Derived type representing a 3D reference element.
Derived type representing a hexahedral element.
Derived type representing a local mesh for 2D domain.
Derived type to manage a local 3D computational domain.
Derived type representing a field with 3D local mesh.
Derived type to manage a computational mesh (base type for 3D domain)
Derived type representing a field with 3D mesh.
Derived type to manage a sparse matrix.