49 integer(I4B) :: model_id
50 character(len=*) :: model_name
54 class(*),
pointer :: obj
56 allocate (virtual_gwe_model)
57 call virtual_gwe_model%create(model_name, model_id, model)
59 obj => virtual_gwe_model
66 character(len=*) :: name
71 call this%VirtualModelType%create(name, id, model)
74 call this%allocate_data()
75 call this%init_virtual_data()
82 call this%set(this%cnd_idisp%base(),
'IDISP',
'CND',
map_all_type)
83 call this%set(this%cnd_alh%base(),
'ALH',
'CND',
map_node_type)
84 call this%set(this%cnd_alv%base(),
'ALV',
'CND',
map_node_type)
85 call this%set(this%cnd_ath1%base(),
'ATH1',
'CND',
map_node_type)
86 call this%set(this%cnd_ath2%base(),
'ATH2',
'CND',
map_node_type)
87 call this%set(this%cnd_atv%base(),
'ATV',
'CND',
map_node_type)
88 call this%set(this%cnd_ktw%base(),
'KTW',
'CND',
map_node_type)
89 call this%set(this%cnd_kts%base(),
'KTS',
'CND',
map_node_type)
90 call this%set(this%fmi_igwfspdis%base(),
'IGWFSPDIS',
'FMI',
map_all_type)
91 call this%set(this%fmi_gwfhead%base(),
'GWFHEAD',
'FMI',
map_node_type)
92 call this%set(this%fmi_gwfsat%base(),
'GWFSAT',
'FMI',
map_node_type)
93 call this%set(this%fmi_gwfspdis%base(),
'GWFSPDIS',
'FMI',
map_node_type)
94 call this%set(this%fmi_gwfflowja%base(),
'GWFFLOWJA',
'FMI',
map_conn_type)
95 call this%set(this%est_porosity%base(),
'POROSITY',
'EST',
map_node_type)
96 call this%set(this%incnd%base(),
'INCND',
'',
map_all_type)
97 call this%set(this%inest%base(),
'INEST',
'',
map_all_type)
103 integer(I4B) :: stage
105 integer(I4B) :: nr_nodes, nr_conns
108 call this%VirtualModelType%prepare_stage(stage)
124 call this%map(this%x%base(), nr_nodes, &
130 if (this%cnd_idisp%get() > 0)
then
140 if (this%incnd%get() > 0 .and. this%inest%get() > 0)
then
141 call this%map(this%est_porosity%base(), nr_nodes, (/
stg_aft_con_ar/))
149 call this%map(this%fmi_gwfhead%base(), nr_nodes, (/
stg_bfr_exg_ad/))
150 call this%map(this%fmi_gwfsat%base(), nr_nodes, (/
stg_bfr_exg_ad/))
151 if (this%fmi_igwfspdis%get() > 0)
then
152 call this%map(this%fmi_gwfspdis%base(), 3, nr_nodes, (/
stg_bfr_exg_ad/))
154 call this%map(this%fmi_gwfspdis%base(), 3, 0, (/
stg_never/))
156 call this%map(this%fmi_gwfflowja%base(), nr_conns, (/
stg_bfr_exg_ad/))
165 allocate (this%cnd_idisp)
166 allocate (this%cnd_alh)
167 allocate (this%cnd_alv)
168 allocate (this%cnd_ath1)
169 allocate (this%cnd_ath2)
170 allocate (this%cnd_atv)
171 allocate (this%cnd_ktw)
172 allocate (this%cnd_kts)
173 allocate (this%fmi_igwfspdis)
174 allocate (this%fmi_gwfhead)
175 allocate (this%fmi_gwfsat)
176 allocate (this%fmi_gwfspdis)
177 allocate (this%fmi_gwfflowja)
178 allocate (this%est_porosity)
179 allocate (this%incnd)
180 allocate (this%inest)
187 deallocate (this%cnd_idisp)
188 deallocate (this%cnd_alh)
189 deallocate (this%cnd_alv)
190 deallocate (this%cnd_ath1)
191 deallocate (this%cnd_ath2)
192 deallocate (this%cnd_atv)
193 deallocate (this%cnd_ktw)
194 deallocate (this%cnd_kts)
195 deallocate (this%fmi_igwfspdis)
196 deallocate (this%fmi_gwfhead)
197 deallocate (this%fmi_gwfsat)
198 deallocate (this%fmi_gwfspdis)
199 deallocate (this%fmi_gwfflowja)
200 deallocate (this%est_porosity)
201 deallocate (this%incnd)
202 deallocate (this%inest)
209 call this%VirtualModelType%destroy()
210 call this%deallocate_data()
This module defines variable data types.
integer(i4b), parameter, public stg_aft_con_ar
afterr connection allocate read
integer(i4b), parameter, public stg_aft_mdl_df
after model define
integer(i4b), parameter, public stg_bfr_exg_ad
before exchange advance (per solution)
integer(i4b), parameter, public stg_bfr_exg_cf
before exchange calculate (per solution)
integer(i4b), parameter, public stg_never
never
integer(i4b), parameter, public stg_bfr_con_ar
before connection allocate read
integer(i4b), parameter, public map_conn_type
integer(i4b), parameter, public map_all_type
integer(i4b), parameter, public map_node_type
integer(i4b), parameter, public vdc_gwemodel_type
type(listtype), public virtual_model_list
subroutine vgwe_prepare_stage(this, stage)
subroutine allocate_data(this)
subroutine vgwe_destroy(this)
subroutine, public add_virtual_gwe_model(model_id, model_name, model)
subroutine init_virtual_data(this)
subroutine vgwe_create(this, name, id, model)
subroutine deallocate_data(this)