38 INTEGER :: I, J, K, IJK
48 DOUBLE PRECISION :: SQR_VEL, SQR_ROT_VEL
64 IF(is_nonexistent(ll)) cycle
67 IF(is_ghost(ll) .or. is_entering_ghost(ll) .or. is_exiting_ghost
82 temp(ijk,m) = temp(ijk,m) + &
83 (des_vel_new(ll,3)-
w_s(ijk,m))**2
91 IF(fluid_at(ijk))
THEN 94 IF (np_phase(ijk,m) > 0 )
THEN 96 dble(dimn*np_phase(ijk,m))
113 des_vel_avg(:) =
zero 120 IF(is_nonexistent(ll)) cycle
122 IF(is_ghost(ll) .OR. is_entering_ghost(ll) .OR. is_exiting_ghost
127 sqr_vel = sqr_vel + des_vel_new(ll,i)**2
130 DO i = 1, merge(1,3,
no_k)
131 sqr_rot_vel = sqr_rot_vel + omega_new(ll,i)**2
135 des_ke = des_ke + pmass(ll)/2.d0 * sqr_vel
137 des_rote = des_rote + &
138 (0.4d0*pmass(ll)*des_radius(ll)**2)/2.d0 * sqr_rot_vel
139 des_pe = des_pe + pmass(ll)*dble(abs(grav(2)))*&
141 des_vel_avg(:) = des_vel_avg(:) + des_vel_new(ll,:)
152 IF(tot_par > 0) des_vel_avg(:) = des_vel_avg(:)/dble(tot_par)
158 global_gran_energy(:) =
zero 159 global_gran_temp(:) =
zero 164 IF(is_nonexistent(ll)) cycle
166 IF(is_ghost(ll) .OR. is_entering_ghost(ll) .OR. is_exiting_ghost
182 IF(tot_par > 0) global_gran_energy(:) = &
183 global_gran_energy(:)/dble(tot_par)
184 IF(tot_par > 0) global_gran_temp(:) = &
185 global_gran_temp(:)/dble(tot_par)
227 DOUBLE PRECISION :: hcell
229 DOUBLE PRECISION :: hpart
231 DOUBLE PRECISION :: EP_SM
244 hcell = 0.5d0*(yn(j)+yn(j-1))
246 tmp_num(m) = tmp_num(m) + ep_sm*hcell*
vol(ijk)
247 tmp_den(m) = tmp_den(m) + ep_sm*
vol(ijk)
252 IF (pip >0) bed_height(:) = tmp_num(:)/tmp_den(:)
262 IF(is_nonexistent(l)) cycle
264 IF(is_ghost(l) .OR. is_entering_ghost(l) .OR. is_exiting_ghost(l
273 IF (pip >0) bed_height(:) = tmp_num(:)/tmp_den(:)
double precision, dimension(:,:), allocatable v_s
subroutine calc_des_bedheight
double precision, dimension(:,:), allocatable w_s
double precision, dimension(:,:), allocatable u_s
subroutine des_granular_temperature
integer, dimension(:), allocatable j_of
double precision, dimension(:,:), allocatable theta_m
double precision function ep_s(IJK, xxM)
double precision, dimension(:,:), allocatable rop_s
double precision, dimension(:), allocatable vol
double precision, parameter zero