50 integer(I4B) :: model_id
51 character(len=*) :: model_name
55 class(*),
pointer :: obj
57 allocate (virtual_gwe_model)
58 call virtual_gwe_model%create(model_name, model_id, model)
60 obj => virtual_gwe_model
67 character(len=*) :: name
72 call this%VirtualModelType%create(name, id, model)
75 call this%allocate_data()
76 call this%init_virtual_data()
84 call this%set(this%cnd_idisp%base(),
'IDISP',
'CND',
map_all_type)
86 call this%set(this%cnd_alh%base(),
'ALH',
'CND',
map_node_type)
87 call this%set(this%cnd_alv%base(),
'ALV',
'CND',
map_node_type)
88 call this%set(this%cnd_ath1%base(),
'ATH1',
'CND',
map_node_type)
89 call this%set(this%cnd_ath2%base(),
'ATH2',
'CND',
map_node_type)
90 call this%set(this%cnd_atv%base(),
'ATV',
'CND',
map_node_type)
91 call this%set(this%cnd_ktw%base(),
'KTW',
'CND',
map_node_type)
92 call this%set(this%cnd_kts%base(),
'KTS',
'CND',
map_node_type)
93 call this%set(this%fmi_gwfhead%base(),
'GWFHEAD',
'FMI',
map_node_type)
94 call this%set(this%fmi_gwfsat%base(),
'GWFSAT',
'FMI',
map_node_type)
95 call this%set(this%fmi_gwfspdis%base(),
'GWFSPDIS',
'FMI',
map_node_type)
96 call this%set(this%fmi_gwfflowja%base(),
'GWFFLOWJA',
'FMI',
map_conn_type)
97 call this%set(this%est_porosity%base(),
'POROSITY',
'EST',
map_node_type)
98 call this%set(this%incnd%base(),
'INCND',
'',
map_all_type)
99 call this%set(this%inest%base(),
'INEST',
'',
map_all_type)
105 integer(I4B) :: stage
107 integer(I4B) :: nr_nodes, nr_conns
110 call this%VirtualModelType%prepare_stage(stage)
127 call this%map(this%x%base(), nr_nodes, &
135 if (this%cnd_idisp%get() > 0)
then
145 call this%map(this%fmi_gwfhead%base(), nr_nodes, (/
stg_bfr_exg_ad/))
146 call this%map(this%fmi_gwfsat%base(), nr_nodes, (/
stg_bfr_exg_ad/))
147 call this%map(this%fmi_gwfspdis%base(), 3, nr_nodes, (/
stg_bfr_exg_ad/))
148 call this%map(this%fmi_gwfflowja%base(), nr_conns, (/
stg_bfr_exg_ad/))
150 if (this%incnd%get() > 0 .and. this%inest%get() > 0)
then
151 call this%map(this%est_porosity%base(), nr_nodes, (/
stg_aft_con_ar/))
162 allocate (this%cnd_idisp)
164 allocate (this%cnd_alh)
165 allocate (this%cnd_alv)
166 allocate (this%cnd_ath1)
167 allocate (this%cnd_ath2)
168 allocate (this%cnd_atv)
169 allocate (this%cnd_ktw)
170 allocate (this%cnd_kts)
171 allocate (this%fmi_gwfhead)
172 allocate (this%fmi_gwfsat)
173 allocate (this%fmi_gwfspdis)
174 allocate (this%fmi_gwfflowja)
175 allocate (this%est_porosity)
176 allocate (this%incnd)
177 allocate (this%inest)
185 deallocate (this%cnd_idisp)
187 deallocate (this%cnd_alh)
188 deallocate (this%cnd_alv)
189 deallocate (this%cnd_ath1)
190 deallocate (this%cnd_ath2)
191 deallocate (this%cnd_atv)
192 deallocate (this%cnd_ktw)
193 deallocate (this%cnd_kts)
194 deallocate (this%fmi_gwfhead)
195 deallocate (this%fmi_gwfsat)
196 deallocate (this%fmi_gwfspdis)
197 deallocate (this%fmi_gwfflowja)
198 deallocate (this%est_porosity)
199 deallocate (this%incnd)
200 deallocate (this%inest)
207 call this%VirtualModelType%destroy()
208 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_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)