MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
virtualgwtexchangemodule Module Reference

Data Types

type  virtualgwtexchangetype
 

Functions/Subroutines

subroutine, public add_virtual_gwt_exchange (name, exchange_id, model1_id, model2_id)
 Add a virtual GWT-GWT exchange to the simulation. More...
 
subroutine vtx_create (this, name, exg_id, m1_id, m2_id)
 Create a virtual GWT-GWT exchange. More...
 
subroutine init_virtual_data (this)
 
subroutine vtx_prepare_stage (this, stage)
 
subroutine vtx_destroy (this)
 
subroutine allocate_data (this)
 
subroutine deallocate_data (this)
 

Function/Subroutine Documentation

◆ add_virtual_gwt_exchange()

subroutine, public virtualgwtexchangemodule::add_virtual_gwt_exchange ( character(len=*)  name,
integer(i4b)  exchange_id,
integer(i4b)  model1_id,
integer(i4b)  model2_id 
)

Definition at line 29 of file VirtualGwtExchange.f90.

30  character(len=*) :: name
31  integer(I4B) :: exchange_id
32  integer(I4B) :: model1_id
33  integer(I4B) :: model2_id
34  ! local
35  class(VirtualGwtExchangeType), pointer :: v_exg
36  class(*), pointer :: obj_ptr
37 
38  allocate (v_exg)
39  call v_exg%create(name, exchange_id, model1_id, model2_id)
40 
41  obj_ptr => v_exg
42  call virtual_exchange_list%Add(obj_ptr)
43 
Here is the caller graph for this function:

◆ allocate_data()

subroutine virtualgwtexchangemodule::allocate_data ( class(virtualgwtexchangetype this)
private

Definition at line 95 of file VirtualGwtExchange.f90.

96  class(VirtualGwtExchangeType) :: this
97 
98  allocate (this%gwfsimvals)
99 

◆ deallocate_data()

subroutine virtualgwtexchangemodule::deallocate_data ( class(virtualgwtexchangetype this)
private

Definition at line 102 of file VirtualGwtExchange.f90.

103  class(VirtualGwtExchangeType) :: this
104 
105  deallocate (this%gwfsimvals)
106 

◆ init_virtual_data()

subroutine virtualgwtexchangemodule::init_virtual_data ( class(virtualgwtexchangetype this)
private

Definition at line 64 of file VirtualGwtExchange.f90.

65  class(VirtualGwtExchangeType) :: this
66 
67  call this%set(this%gwfsimvals%base(), 'GWFSIMVALS', '', map_all_type)
68 

◆ vtx_create()

subroutine virtualgwtexchangemodule::vtx_create ( class(virtualgwtexchangetype this,
character(len=*)  name,
integer(i4b)  exg_id,
integer(i4b)  m1_id,
integer(i4b)  m2_id 
)
private

Definition at line 48 of file VirtualGwtExchange.f90.

49  class(VirtualGwtExchangeType) :: this
50  character(len=*) :: name
51  integer(I4B) :: exg_id
52  integer(I4B) :: m1_id
53  integer(I4B) :: m2_id
54 
55  ! create base
56  call this%VirtualExchangeType%create(name, exg_id, m1_id, m2_id)
57  this%container_type = vdc_gwtexg_type
58 
59  call this%allocate_data()
60  call this%init_virtual_data()
61 

◆ vtx_destroy()

subroutine virtualgwtexchangemodule::vtx_destroy ( class(virtualgwtexchangetype this)
private

Definition at line 87 of file VirtualGwtExchange.f90.

88  class(VirtualGwtExchangeType) :: this
89 
90  call this%VirtualExchangeType%destroy()
91  call this%deallocate_data()
92 

◆ vtx_prepare_stage()

subroutine virtualgwtexchangemodule::vtx_prepare_stage ( class(virtualgwtexchangetype this,
integer(i4b)  stage 
)
private

Definition at line 71 of file VirtualGwtExchange.f90.

72  class(VirtualGwtExchangeType) :: this
73  integer(I4B) :: stage
74  ! local
75  integer(I4B) :: nexg
76 
77  ! prepare base exchange data items
78  call this%VirtualExchangeType%prepare_stage(stage)
79 
80  if (stage == stg_bfr_con_ar) then
81  nexg = this%nexg%get()
82  call this%map(this%gwfsimvals%base(), nexg, (/stg_bfr_exg_ad/))
83  end if
84