50 subroutine model_cq(this, icnvg, isuppress_output)
52 integer(I4B),
intent(in) :: icnvg
53 integer(I4B),
intent(in) :: isuppress_output
57 subroutine model_bd(this, icnvg, isuppress_output)
59 integer(I4B),
intent(in) :: icnvg
60 integer(I4B),
intent(in) :: isuppress_output
68 deallocate (this%filename)
76 if (
associated(this%ibound)) &
80 call this%bndlist%Clear()
81 deallocate (this%bndlist)
84 call this%BaseModelType%model_da()
90 character(len=*),
intent(in) :: modelname
92 call this%BaseModelType%allocate_scalars(modelname)
93 allocate (this%bndlist)
94 allocate (this%filename)
104 this%nja = this%dis%nja
106 call mem_allocate(this%ibound, this%dis%nodes,
'IBOUND', this%memoryPath)
107 do i = 1, this%dis%nodes
111 call mem_allocate(this%flowja, this%nja,
'FLOWJA', this%memoryPath)
113 this%flowja(i) =
dzero
119 class(*),
pointer,
intent(inout) :: obj
123 if (.not.
associated(obj))
return
134 type(
listtype),
intent(inout) :: list
137 class(*),
pointer :: obj
146 type(
listtype),
intent(inout) :: list
147 integer(I4B),
intent(in) :: idx
150 class(*),
pointer :: obj
152 obj => list%GetItem(idx)
159 integer(I4B),
intent(in) :: id
This module contains simulation constants.
integer(i4b), parameter linelength
maximum length of a standard line
real(dp), parameter dzero
real constant zero
Models that solve themselves.
class(explicitmodeltype) function, pointer, public getexplicitmodelfromlist(list, idx)
@ brief Get generic object from list and return as explicit model
subroutine allocate_arrays(this)
Allocate array variables.
subroutine set_idsoln(this, id)
Set the solution ID.
subroutine model_bd(this, icnvg, isuppress_output)
@ brief Calculate model budget
subroutine, public addexplicitmodeltolist(list, model)
@ brief Add explicit model to a generic list
subroutine model_da(this)
@ brief Deallocate the model
subroutine allocate_scalars(this, modelname)
@ brief Allocate scalar variables
subroutine model_solve(this)
@ brief Solve the model
class(explicitmodeltype) function, pointer, public castasexplicitmodelclass(obj)
@ brief Cast a generic object into an explicit model
subroutine model_cq(this, icnvg, isuppress_output)
@ brief Calculate model flows
subroutine model_ad(this)
@ brief Advance the model
This module defines variable data types.
Highest level model type. All models extend this parent type.
Base type for models that solve themselves.
A generic heterogeneous doubly-linked list.