41 DOUBLE PRECISION :: SUM_DES_Rs(1:max_pip)
43 DOUBLE PRECISION :: PIx4o3
44 DOUBLE PRECISION :: o3 = 1.0d0/3.0d0
46 DOUBLE PRECISION :: lDT, lOoDT
48 LOGICAL,
SAVE:: FIRST_PASS = .true.
52 IF(.NOT.any_species_eq)
RETURN 54 pix4o3 =
pi*4.0d0/3.0d0
56 ldt = merge(dt, dtsolid, des_explicitly_coupled)
61 WHERE(particle_state(:max_pip) == normal_particle) &
63 des_x_s(:max_pip,nn)*pmass(:max_pip)*loodt)
68 WHERE(particle_state(:max_pip) == normal_particle) &
69 sum_des_rs(:max_pip) = sum(
des_r_s(:max_pip,:),dim=2)
71 WHERE(particle_state(:max_pip) == normal_particle) &
72 pmass(:max_pip) = pmass(:max_pip) + ldt*sum_des_rs(:max_pip)
75 WHERE(particle_state(:max_pip) == normal_particle) &
78 sum_des_rs(:max_pip))/pmass(:max_pip),
zero)
87 IF(is_normal(nn))
THEN 89 ro_sol(nn)= pmass(nn)/pvol(nn)
91 des_radius(nn) = (pmass(nn)/(pix4o3*ro_sol(nn)))**o3
92 pvol(nn) = pmass(nn)/ro_sol(nn)
double precision, dimension(:,:), allocatable des_r_s
logical, dimension(0:dim_m) species_eq
logical, dimension(dim_m) solve_ros
double precision, dimension(:,:), allocatable des_x_s
integer, dimension(0:dim_m) nmax
subroutine des_reaction_model
double precision, parameter pi
double precision, parameter zero