129 class(GwtInterfaceModelType) :: this
131 class(*),
pointer :: disPtr
132 type(TspAdvOptionsType) :: adv_options
133 type(GwtDspOptionsType) :: dsp_options
136 adv_options%iAdvScheme = this%iAdvScheme
137 dsp_options%ixt3d = this%ixt3d
141 call this%gridConnection%getDiscretization(castasdisutype(disptr))
142 call this%fmi%fmi_df(this%dis, 1)
144 if (this%inadv > 0)
then
145 call this%adv%adv_df(adv_options)
147 if (this%indsp > 0)
then
148 this%dsp%idiffc = this%owner%dsp%idiffc
149 this%dsp%idisp = this%owner%dsp%idisp
150 call this%dsp%dsp_df(this%dis, dsp_options)
151 if (this%dsp%idiffc > 0)
then
152 call mem_reallocate(this%dsp%diffc, this%dis%nodes,
'DIFFC', &
153 trim(this%dsp%memoryPath))
155 if (this%dsp%idisp > 0)
then
156 call mem_reallocate(this%dsp%alh, this%dis%nodes,
'ALH', &
157 trim(this%dsp%memoryPath))
158 call mem_reallocate(this%dsp%alv, this%dis%nodes,
'ALV', &
159 trim(this%dsp%memoryPath))
160 call mem_reallocate(this%dsp%ath1, this%dis%nodes,
'ATH1', &
161 trim(this%dsp%memoryPath))
162 call mem_reallocate(this%dsp%ath2, this%dis%nodes,
'ATH2', &
163 trim(this%dsp%memoryPath))
164 call mem_reallocate(this%dsp%atv, this%dis%nodes,
'ATV', &
165 trim(this%dsp%memoryPath))
168 call mem_allocate(this%mst%thetam, this%dis%nodes, &
169 'THETAM', create_mem_path(this%name,
'MST'))
173 this%neq = this%dis%nodes
174 this%nja = this%dis%nja
175 this%ia => this%dis%con%ia
176 this%ja => this%dis%con%ja
179 call this%allocate_arrays()