48 character(len=*),
intent(in) :: name
49 integer(I4B),
intent(in) :: iout
52 class(*),
pointer :: modPtr
55 call this%allocate_scalars(name)
59 this%gridConnection => gridconn
60 modptr => this%gridConnection%model
63 this%innpf = huge(1_i4b)
64 this%inewton = this%owner%inewton
65 this%inewtonur = this%owner%inewtonur
67 if (this%owner%inbuy > 0)
then
68 this%inbuy = huge(1_i4b)
72 call disu_cr(this%dis, this%name,
'', -1, this%iout)
73 call npf_cr(this%npf, this%name,
'', -this%innpf, this%iout)
74 call xt3d_cr(this%xt3d, this%name, -this%innpf, this%iout)
75 call buy_cr(this%buy, this%name, this%inbuy, this%iout)
86 class(*),
pointer :: disPtr
95 call npfoptions%construct()
96 call this%setNpfOptions(npfoptions)
97 call this%npf%npf_df(this%dis, this%xt3d, 0, 0, npfoptions)
98 call npfoptions%destroy()
101 if (this%inbuy > 0)
then
102 call buydata%construct(this%owner%buy%nrhospecies)
103 call this%setBuyData(buydata)
104 call this%buy%buy_df(this%dis, buydata)
105 call buydata%destruct()
108 this%neq = this%dis%nodes
109 this%nja = this%dis%nja
110 this%ia => this%dis%con%ia
111 this%ja => this%dis%con%ja
113 call this%allocate_arrays()
122 call this%npf%npf_ar(this%ic, this%vsc, this%ibound, this%x)
123 if (this%inbuy > 0)
call this%buy%buy_ar(this%npf, this%ibound)
134 call this%dis%dis_da()
135 call this%npf%npf_da()
136 call this%xt3d%xt3d_da()
137 call this%buy%buy_da()
140 deallocate (this%dis)
141 deallocate (this%npf)
142 deallocate (this%xt3d)
160 call this%NumericalModelType%model_da()
173 npfoptions%icellavg = this%owner%npf%icellavg
174 npfoptions%ithickstrt = this%owner%npf%ithickstrt
175 npfoptions%iperched = this%owner%npf%iperched
176 npfoptions%ivarcv = this%owner%npf%ivarcv
177 npfoptions%idewatcv = this%owner%npf%idewatcv
178 npfoptions%irewet = this%owner%npf%irewet
179 npfoptions%wetfct = this%owner%npf%wetfct
180 npfoptions%iwetit = this%owner%npf%iwetit
181 npfoptions%ihdwet = this%owner%npf%ihdwet
195 buydata%denseref = this%owner%buy%denseref
196 buydata%iform = this%owner%buy%iform
197 buydata%nrhospecies = this%owner%buy%nrhospecies
199 do i = 1, buydata%nrhospecies
200 buydata%drhodc(i) = this%owner%buy%drhodc(i)
201 buydata%crhoref(i) = this%owner%buy%crhoref(i)
202 buydata%cmodelname(i) = this%owner%buy%cmodelname(i)
203 buydata%cauxspeciesname(i) = this%owner%buy%cauxspeciesname(i)
This module contains simulation constants.
real(dp), parameter dzero
real constant zero
subroutine, public disu_cr(dis, name_model, input_mempath, inunit, iout)
Create a new unstructured discretization object.
class(disutype) function, pointer, public castasdisutype(dis)
Cast base to DISU.
Refactoring issues towards parallel:
subroutine, public buy_cr(buyobj, name_model, inunit, iout)
Create a new BUY object.
subroutine gwfifm_ar(this)
allocate and read the packages
subroutine gwfifm_df(this)
Define, mostly DISU and the NPF package.
subroutine gwfifm_cr(this, name, iout, gridConn)
set up the interface model, analogously to what
subroutine gwfifm_da(this)
Clean up.
subroutine setnpfoptions(this, npfOptions)
Copy NPF options from the model owning the interface to the data structure.
subroutine setbuydata(this, buyData)
Sets the BUY input data from the models that make up this interface. We adopt everything from the own...
class(gwfmodeltype) function, pointer, public castasgwfmodel(model)
Cast to GWF model.
subroutine, public npf_cr(npfobj, name_model, input_mempath, inunit, iout)
Create a new NPF object. Pass a inunit value of 0 if npf data will initialized from memory.
This module defines variable data types.
character(len=lenmempath) function create_mem_path(component, subcomponent, context)
returns the path to the memory object
subroutine, public xt3d_cr(xt3dobj, name_model, inunit, iout, ldispopt)
Create a new xt3d object.
This class is used to construct the connections object for the interface model's spatial discretizati...
The GWF Interface Model is a utility to calculate the solution's exchange coefficients from the inter...
Data structure and helper methods for passing NPF options into npf_df, as an alternative to reading t...