59 class(MethodDisType),
intent(inout) :: this
60 type(ParticleType),
pointer,
intent(inout) :: particle
61 integer(I4B),
intent(in) :: next_level
62 class(MethodType),
pointer,
intent(inout) :: submethod
78 select type (cell => this%cell)
79 type is (cellrecttype)
80 select type (dis => this%fmi%dis)
82 ic = particle%idomain(next_level)
83 call this%load_cell_defn(ic, cell%defn)
87 if (this%fmi%ibdgwfsat0(ic) == 0)
then
88 call method_cell_ptb%init( &
90 trackfilectl=this%trackfilectl, &
91 tracktimes=this%tracktimes)
92 submethod => method_cell_ptb
95 icu = dis%get_nodeuser(ic)
96 call get_ijk(icu, dis%nrow, dis%ncol, dis%nlay, &
100 dz = cell%defn%top - cell%defn%bot
106 cell%xOrigin = cell%defn%polyvert(1, 1)
107 cell%yOrigin = cell%defn%polyvert(2, 1)
108 cell%zOrigin = cell%defn%bot
113 factor = done / cell%defn%retfactor
114 factor = factor / cell%defn%porosity
115 term = factor / areax
116 cell%vx1 = cell%defn%faceflow(1) * term
117 cell%vx2 = -cell%defn%faceflow(3) * term
118 term = factor / areay
119 cell%vy1 = cell%defn%faceflow(4) * term
120 cell%vy2 = -cell%defn%faceflow(2) * term
121 term = factor / areaz
122 cell%vz1 = cell%defn%faceflow(6) * term
123 cell%vz2 = -cell%defn%faceflow(7) * term
126 call method_cell_plck%init( &
128 trackfilectl=this%trackfilectl, &
129 tracktimes=this%tracktimes)
130 submethod => method_cell_plck