Models that solve themselves.
|
| subroutine | model_ad (this) |
| | @ brief Advance the model More...
|
| |
| subroutine | model_solve (this) |
| | @ brief Solve the model More...
|
| |
| subroutine | model_cq (this, icnvg, isuppress_output) |
| | @ brief Calculate model flows More...
|
| |
| subroutine | model_bd (this, icnvg, isuppress_output) |
| | @ brief Calculate model budget More...
|
| |
| subroutine | model_da (this) |
| | @ brief Deallocate the model More...
|
| |
| subroutine | allocate_scalars (this, modelname) |
| | @ brief Allocate scalar variables More...
|
| |
| subroutine | allocate_arrays (this) |
| | Allocate array variables. More...
|
| |
| class(explicitmodeltype) function, pointer, public | castasexplicitmodelclass (obj) |
| | @ brief Cast a generic object into an explicit model More...
|
| |
| subroutine, public | addexplicitmodeltolist (list, model) |
| | @ brief Add explicit model to a generic list More...
|
| |
| class(explicitmodeltype) function, pointer, public | getexplicitmodelfromlist (list, idx) |
| | @ brief Get generic object from list and return as explicit model More...
|
| |
| subroutine | set_idsoln (this, id) |
| | Set the solution ID. More...
|
| |
◆ addexplicitmodeltolist()
| subroutine, public explicitmodelmodule::addexplicitmodeltolist |
( |
type(listtype), intent(inout) |
list, |
|
|
class(explicitmodeltype), intent(inout), pointer |
model |
|
) |
| |
Definition at line 132 of file ExplicitModel.f90.
134 type(ListType),
intent(inout) :: list
135 class(ExplicitModelType),
pointer,
intent(inout) :: model
137 class(*),
pointer :: obj
◆ allocate_arrays()
Definition at line 99 of file ExplicitModel.f90.
100 class(ExplicitModelType) :: this
103 call mem_allocate(this%nja,
'NJA', this%memoryPath)
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
◆ allocate_scalars()
| subroutine explicitmodelmodule::allocate_scalars |
( |
class(explicitmodeltype) |
this, |
|
|
character(len=*), intent(in) |
modelname |
|
) |
| |
|
private |
Definition at line 88 of file ExplicitModel.f90.
89 class(ExplicitModelType) :: this
90 character(len=*),
intent(in) :: modelname
92 call this%BaseModelType%allocate_scalars(modelname)
93 allocate (this%bndlist)
94 allocate (this%filename)
◆ castasexplicitmodelclass()
| class(explicitmodeltype) function, pointer, public explicitmodelmodule::castasexplicitmodelclass |
( |
class(*), intent(inout), pointer |
obj | ) |
|
Definition at line 118 of file ExplicitModel.f90.
119 class(*),
pointer,
intent(inout) :: obj
120 class(ExplicitModelType),
pointer :: res
123 if (.not.
associated(obj))
return
126 class is (explicitmodeltype)
◆ getexplicitmodelfromlist()
| class(explicitmodeltype) function, pointer, public explicitmodelmodule::getexplicitmodelfromlist |
( |
type(listtype), intent(inout) |
list, |
|
|
integer(i4b), intent(in) |
idx |
|
) |
| |
Definition at line 144 of file ExplicitModel.f90.
146 type(ListType),
intent(inout) :: list
147 integer(I4B),
intent(in) :: idx
148 class(ExplicitModelType),
pointer :: res
150 class(*),
pointer :: obj
152 obj => list%GetItem(idx)
153 res => castasexplicitmodelclass(obj)
◆ model_ad()
◆ model_bd()
| subroutine explicitmodelmodule::model_bd |
( |
class(explicitmodeltype) |
this, |
|
|
integer(i4b), intent(in) |
icnvg, |
|
|
integer(i4b), intent(in) |
isuppress_output |
|
) |
| |
|
private |
Definition at line 57 of file ExplicitModel.f90.
58 class(ExplicitModelType) :: this
59 integer(I4B),
intent(in) :: icnvg
60 integer(I4B),
intent(in) :: isuppress_output
◆ model_cq()
| subroutine explicitmodelmodule::model_cq |
( |
class(explicitmodeltype) |
this, |
|
|
integer(i4b), intent(in) |
icnvg, |
|
|
integer(i4b), intent(in) |
isuppress_output |
|
) |
| |
|
private |
Definition at line 50 of file ExplicitModel.f90.
51 class(ExplicitModelType) :: this
52 integer(I4B),
intent(in) :: icnvg
53 integer(I4B),
intent(in) :: isuppress_output
◆ model_da()
Definition at line 64 of file ExplicitModel.f90.
65 class(ExplicitModelType) :: this
68 deallocate (this%filename)
69 call mem_deallocate(this%nja)
72 call mem_deallocate(this%ibound)
73 call mem_deallocate(this%flowja,
'FLOWJA', this%memoryPath)
76 if (
associated(this%ibound)) &
77 call mem_deallocate(this%ibound,
'IBOUND', this%memoryPath)
80 call this%bndlist%Clear()
81 deallocate (this%bndlist)
84 call this%BaseModelType%model_da()
◆ model_solve()
◆ set_idsoln()
| subroutine explicitmodelmodule::set_idsoln |
( |
class(explicitmodeltype) |
this, |
|
|
integer(i4b), intent(in) |
id |
|
) |
| |
|
private |
Definition at line 157 of file ExplicitModel.f90.
158 class(ExplicitModelType) :: this
159 integer(I4B),
intent(in) :: id