138 class(GwtInterfaceModelType) :: this
140 class(*),
pointer :: disPtr
141 type(TspAdvOptionsType) :: adv_options
142 type(GwtDspOptionsType) :: dsp_options
145 adv_options%iAdvScheme = this%iAdvScheme
146 dsp_options%ixt3d = this%ixt3d
150 call this%gridConnection%getDiscretization(castasdisutype(disptr))
151 call this%fmi%fmi_df(this%dis, 1)
153 if (this%inadv > 0)
then
154 call this%adv%adv_df(adv_options)
156 if (this%indsp > 0)
then
157 this%dsp%idiffc = this%owner%dsp%idiffc
158 this%dsp%idisp = this%owner%dsp%idisp
159 call this%dsp%dsp_df(this%dis, dsp_options)
160 if (this%dsp%idiffc > 0)
then
161 call mem_reallocate(this%dsp%diffc, this%dis%nodes,
'DIFFC', &
162 trim(this%dsp%memoryPath))
164 if (this%dsp%idisp > 0)
then
165 call mem_reallocate(this%dsp%alh, this%dis%nodes,
'ALH', &
166 trim(this%dsp%memoryPath))
167 call mem_reallocate(this%dsp%alv, this%dis%nodes,
'ALV', &
168 trim(this%dsp%memoryPath))
169 call mem_reallocate(this%dsp%ath1, this%dis%nodes,
'ATH1', &
170 trim(this%dsp%memoryPath))
171 call mem_reallocate(this%dsp%ath2, this%dis%nodes,
'ATH2', &
172 trim(this%dsp%memoryPath))
173 call mem_reallocate(this%dsp%atv, this%dis%nodes,
'ATV', &
174 trim(this%dsp%memoryPath))
177 call mem_allocate(this%mst%thetam, this%dis%nodes, &
178 'THETAM', create_mem_path(this%name,
'MST'))
182 this%neq = this%dis%nodes
183 this%nja = this%dis%nja
184 this%ia => this%dis%con%ia
185 this%ja => this%dis%con%ja
188 call this%allocate_arrays()