#include <reservoir.h>


Public Types | |
| typedef strategy_t::item_t | item_t |
| item value (floating point) | |
| typedef strategy_t::index_t | index_t |
| index value (integral type) | |
| typedef strategy_t::item_array_t | item_array_t |
| type for array of item_t values | |
| typedef strategy_t::rhs_item_array_t | rhs_item_array_t |
| type for array of rhs_item_t values | |
| typedef strategy_t::index_array_t | index_array_t |
| type for array of index_t values | |
| typedef facility_base< strategy_t > | facility_t |
| base type for facilities | |
| typedef well< strategy_t > | well_t |
| base type for wells | |
| typedef wells::well_controller < strategy_t > | well_controller_t |
| well_controller type | |
| typedef wells::well_limit_operation | well_limit_operation_t |
| well_llimit_operation type | |
| typedef wells::well_rate_control < strategy_t > | well_rate_control_t |
| well_rate_control type | |
| typedef wells::connection < strategy_t > | connection_t |
| base type for well connections (perforations) | |
| typedef facility_manager < strategy_t > | facility_manager_t |
| facility_manager type | |
| typedef wells::well_controller_factory < strategy_t > | controller_factory_t |
| type for well_controller factory | |
| typedef wells::well_limit_operation_factory | limit_operation_factory_t |
| type for well_limit_operation factory | |
| typedef well_factory< strategy_t > | well_factory_t |
| type for well factory | |
| typedef calc_model< strategy_t > | calc_model_t |
| calc_model type | |
| typedef rs_mesh_iface< strategy_t > | mesh_iface_t |
| rs_mesh_iface type | |
| typedef jacobian< strategy_t > | jacobian_t |
| jacobian type | |
| typedef jacobian_matrix < strategy_t > | jacobian_matrix_t |
| jacobian_matrix type | |
| typedef reservoir_simulator < strategy_t > | reservoir_simulator_t |
| reservoir_simulator type | |
| typedef rate_data< strategy_t > | rate_data_t |
| type for rate data holder | |
| typedef rate_data_t::rate_data_inner | rate_data_inner_t |
| type for internal data of rate data holder | |
| typedef smart_ptr < reservoir_simulator_t, true > | sp_top_t |
| smart_ptr to reservoir_simulator type | |
| typedef smart_ptr< well_t, true > | sp_well_t |
| smart_ptr to well type | |
| typedef smart_ptr < well_controller_t, true > | sp_well_controller_t |
| smart_ptr to well_controller type | |
| typedef smart_ptr < well_limit_operation_t, true > | sp_well_limit_operation_t |
| smart_ptr to well_limit_operation type | |
| typedef smart_ptr < well_rate_control_t, true > | sp_rate_control_t |
| smart_ptr to rate_control type | |
| typedef smart_ptr < connection_t, true > | sp_connection_t |
| smart_ptr to connection type | |
| typedef smart_ptr < mesh_iface_t, true > | sp_mesh_iface_t |
| smart_ptr to rs_mesh_iface type | |
| typedef smart_ptr < calc_model_t, true > | sp_calc_model_t |
| smart_ptr to calc_model type | |
| typedef smart_ptr< jacobian_t, true > | sp_jacobian_t |
| smart_ptr to jacobian type | |
| typedef smart_ptr < jacobian_matrix_t, true > | sp_jacobian_matrix_t |
| smart_ptr to jacobian_matrix type | |
| typedef smart_ptr < jacobian_matrix_t, true > | sp_jmatrix_t |
| smart_ptr to jacobian_matrix type | |
| typedef smart_ptr < facility_manager_t, true > | sp_facility_manager_t |
| smart_ptr to facility_manager type | |
| typedef smart_ptr < data_storage_interface, true > | sp_storage_t |
| smart_ptr to data_storage_interface type | |
| typedef smart_ptr < controller_factory_t, true > | sp_well_controller_factory_t |
| smart_ptr to well_controller factory type | |
| typedef smart_ptr < limit_operation_factory_t, true > | sp_well_limit_operation_factory_t |
| smart_ptr to well_limit_operation factory type | |
| typedef smart_ptr < well_factory_t, true > | sp_well_factory_t |
| smart_ptr to well factory type | |
| typedef smart_ptr< fi_params, true > | sp_params_t |
| smart_ptr to fi_params type | |
| typedef smart_ptr < event_filter, true > | sp_event_filter_t |
| smart_ptr to event_filter type | |
Public Member Functions | |
| BLUE_SKY_TYPE_DECL_T (reservoir< strategy_t >) | |
| blue-sky type declaration | |
| ~reservoir () | |
| reservoir dtor | |
| sp_well_t | get_well (const std::string &group_name, const std::string &well_name) const |
| returns well with name well_name from group group_name from facility_list_ | |
| sp_well_t | get_well (const std::string &well_name) const |
| returns well with name well_name from default group from facility_list_ | |
| sp_well_t | create_well (const std::string &group_name, const std::string &well_name) |
| creates well with name well_name in group group_name | |
| sp_well_controller_t | create_well_controller (const sp_well_t &owner_well) |
| creates well_controller for given well | |
| sp_well_limit_operation_t | create_well_limit_operation (const sp_well_t &owner_well, wells::limit_operation_type operation) |
| creates well_limit_operation for given well | |
| sp_connection_t | create_connection () |
| creates well connection | |
| sp_rate_control_t | create_bhp_control (bool is_prod, const sp_calc_model_t &calc_model) |
| creates rate_control that control well by bhp | |
| sp_rate_control_t | create_rate_control (bool is_prod, wells::rate_control_type control_type, const sp_calc_model_t &calc_model) |
| creates rate_control that control well by rate | |
| void | save_data (const sp_storage_t &storage) const |
| saves facilities data in data storage | |
| item_t | pressure () const |
| bool | check_limits (const sp_params_t ¶ms) const |
| void | pre_large_step (const sp_calc_model_t &calc_model, const sp_mesh_iface_t &mesh) |
| for each facility calls pre_large_step | |
| void | pre_small_step () |
| for each facility calls pre_small_step | |
| void | pre_newton_step () |
| for each facility calls pre_newton_step | |
| void | restart_small_step () |
| for each facility calls restart_small_step | |
| void | restart_newton_step () |
| for each facility calls restart_newton_step | |
| void | init_jacobian (const sp_jmatrix_t &jmx, index_t n_cells) |
| inits jacobian | |
| void | end_jacobian (item_t dt, const sp_calc_model_t &calc_model, sp_jacobian_t &jacobian) |
| ends building of jacobian | |
| void | restore_wells_solution (double dt, const item_array_t &p_sol, const item_array_t &s_sol, index_t block_size) |
| for each facility calls restore_solution | |
| void | calc_wells (int istart, double dt, const sp_calc_model_t &calc_model, const sp_mesh_iface_t &mesh, sp_jmatrix_t &jmatrix) |
| for each facility calls process | |
| void | fill_rhs_wells (double dt, const sp_calc_model_t &calc_model, rhs_item_array_t &rhs, bool update_after_gauss_elimination) const |
| for each facility calls fill_rhs | |
| sp_facility_manager_t | get_facility_list () const |
| returns facility list | |
| size_t | get_connections_count () const |
| returns total connections count over all facilities | |
| void | add_filter_well (const std::string &well_name) |
| specifies what well should be filtered be event_filter | |
| const sp_event_filter_t & | get_event_filter () const |
| returns pointer to event_filter instance | |
| sp_well_factory_t | get_well_factory () const |
| returns pointer to well factory instance | |
| sp_well_controller_factory_t | get_well_controller_factory () const |
| returns pointer to well_controller factory instance | |
| sp_well_limit_operation_factory_t | get_well_limit_operation_factory () const |
| returns pointer to well_limit_operation factory | |
| void | set_well_factory (const sp_well_factory_t &factory) |
| sets well factory | |
| void | set_well_controller_factory (const sp_well_controller_factory_t &factory) |
| sets well_controller factory | |
| void | set_well_limit_operation_factory (const sp_well_limit_operation_factory_t &factory) |
| sets well_limit_operation factory | |
| const rate_data_t & | rate () const |
| returns rate data | |
Public Attributes | |
| rate_data_t | rate_ |
| reservoir rate | |
| rate_data_t | rate_rc_ |
| reservoir rate in reservoir conditions | |
| rate_data_t | rate_wefac_ |
| rate_ * wefac | |
| rate_data_t | rate_rc_wefac_ |
| rate_rc_ * wefac | |
| rate_data_t | rate_initial_ |
| inital rate on current step | |
| rate_data_t | rate_total_ |
| total rate | |
Private Member Functions | |
| void | init_rows (index_array_t &rows) const |
| inits rows for builded jacobian | |
Private Attributes | |
| sp_facility_manager_t | facility_list_ |
| manager for facilities (wells, unnamed wells and other) | |
| sp_well_factory_t | well_factory_ |
| factory for wells and connections | |
| sp_well_controller_factory_t | well_controller_factory_ |
| factory for well controllers | |
| sp_well_limit_operation_factory_t | well_limit_operation_factory_ |
| factory for well limit operations | |
| sp_event_filter_t | event_filter_ |
| events filter | |
| index_array_t | markers_ |
| markers, used to build jacobian | |
| typedef calc_model<strategy_t> blue_sky::reservoir< strategy_t >::calc_model_t |
calc_model type
| typedef wells::connection<strategy_t> blue_sky::reservoir< strategy_t >::connection_t |
base type for well connections (perforations)
| typedef wells::well_controller_factory<strategy_t> blue_sky::reservoir< strategy_t >::controller_factory_t |
type for well_controller factory
| typedef facility_manager<strategy_t> blue_sky::reservoir< strategy_t >::facility_manager_t |
facility_manager type
| typedef facility_base<strategy_t> blue_sky::reservoir< strategy_t >::facility_t |
base type for facilities
| typedef strategy_t::index_array_t blue_sky::reservoir< strategy_t >::index_array_t |
type for array of index_t values
| typedef strategy_t::index_t blue_sky::reservoir< strategy_t >::index_t |
index value (integral type)
| typedef strategy_t::item_array_t blue_sky::reservoir< strategy_t >::item_array_t |
type for array of item_t values
| typedef strategy_t::item_t blue_sky::reservoir< strategy_t >::item_t |
item value (floating point)
| typedef jacobian_matrix<strategy_t> blue_sky::reservoir< strategy_t >::jacobian_matrix_t |
jacobian_matrix type
| typedef jacobian<strategy_t> blue_sky::reservoir< strategy_t >::jacobian_t |
jacobian type
| typedef wells::well_limit_operation_factory blue_sky::reservoir< strategy_t >::limit_operation_factory_t |
type for well_limit_operation factory
| typedef rs_mesh_iface<strategy_t> blue_sky::reservoir< strategy_t >::mesh_iface_t |
rs_mesh_iface type
| typedef rate_data_t::rate_data_inner blue_sky::reservoir< strategy_t >::rate_data_inner_t |
type for internal data of rate data holder
| typedef rate_data<strategy_t> blue_sky::reservoir< strategy_t >::rate_data_t |
type for rate data holder
| typedef reservoir_simulator<strategy_t> blue_sky::reservoir< strategy_t >::reservoir_simulator_t |
reservoir_simulator type
| typedef strategy_t::rhs_item_array_t blue_sky::reservoir< strategy_t >::rhs_item_array_t |
type for array of rhs_item_t values
| typedef smart_ptr<calc_model_t, true> blue_sky::reservoir< strategy_t >::sp_calc_model_t |
smart_ptr to calc_model type
| typedef smart_ptr<connection_t, true> blue_sky::reservoir< strategy_t >::sp_connection_t |
smart_ptr to connection type
| typedef smart_ptr<event_filter, true> blue_sky::reservoir< strategy_t >::sp_event_filter_t |
smart_ptr to event_filter type
| typedef smart_ptr<facility_manager_t, true> blue_sky::reservoir< strategy_t >::sp_facility_manager_t |
smart_ptr to facility_manager type
| typedef smart_ptr<jacobian_matrix_t, true> blue_sky::reservoir< strategy_t >::sp_jacobian_matrix_t |
smart_ptr to jacobian_matrix type
| typedef smart_ptr<jacobian_t, true> blue_sky::reservoir< strategy_t >::sp_jacobian_t |
smart_ptr to jacobian type
| typedef smart_ptr<jacobian_matrix_t, true> blue_sky::reservoir< strategy_t >::sp_jmatrix_t |
smart_ptr to jacobian_matrix type
| typedef smart_ptr<mesh_iface_t, true> blue_sky::reservoir< strategy_t >::sp_mesh_iface_t |
smart_ptr to rs_mesh_iface type
| typedef smart_ptr<fi_params, true> blue_sky::reservoir< strategy_t >::sp_params_t |
smart_ptr to fi_params type
| typedef smart_ptr<well_rate_control_t, true> blue_sky::reservoir< strategy_t >::sp_rate_control_t |
smart_ptr to rate_control type
| typedef smart_ptr<data_storage_interface, true> blue_sky::reservoir< strategy_t >::sp_storage_t |
smart_ptr to data_storage_interface type
| typedef smart_ptr<reservoir_simulator_t, true> blue_sky::reservoir< strategy_t >::sp_top_t |
smart_ptr to reservoir_simulator type
| typedef smart_ptr<controller_factory_t, true> blue_sky::reservoir< strategy_t >::sp_well_controller_factory_t |
smart_ptr to well_controller factory type
| typedef smart_ptr<well_controller_t, true> blue_sky::reservoir< strategy_t >::sp_well_controller_t |
smart_ptr to well_controller type
| typedef smart_ptr<well_factory_t, true> blue_sky::reservoir< strategy_t >::sp_well_factory_t |
smart_ptr to well factory type
| typedef smart_ptr<limit_operation_factory_t, true> blue_sky::reservoir< strategy_t >::sp_well_limit_operation_factory_t |
smart_ptr to well_limit_operation factory type
| typedef smart_ptr<well_limit_operation_t, true> blue_sky::reservoir< strategy_t >::sp_well_limit_operation_t |
smart_ptr to well_limit_operation type
| typedef smart_ptr<well_t, true> blue_sky::reservoir< strategy_t >::sp_well_t |
smart_ptr to well type
| typedef wells::well_controller<strategy_t> blue_sky::reservoir< strategy_t >::well_controller_t |
well_controller type
| typedef well_factory<strategy_t> blue_sky::reservoir< strategy_t >::well_factory_t |
type for well factory
| typedef wells::well_limit_operation blue_sky::reservoir< strategy_t >::well_limit_operation_t |
well_llimit_operation type
| typedef wells::well_rate_control<strategy_t> blue_sky::reservoir< strategy_t >::well_rate_control_t |
well_rate_control type
| typedef well<strategy_t> blue_sky::reservoir< strategy_t >::well_t |
base type for wells
| blue_sky::reservoir< strategy_t >::~reservoir | ( | ) |
reservoir dtor
| void blue_sky::reservoir< strategy_t >::add_filter_well | ( | const std::string & | well_name | ) |
| blue_sky::reservoir< strategy_t >::BLUE_SKY_TYPE_DECL_T | ( | reservoir< strategy_t > | ) |
blue-sky type declaration
| void blue_sky::reservoir< strategy_t >::calc_wells | ( | int | istart, | |
| double | dt, | |||
| const sp_calc_model_t & | calc_model, | |||
| const sp_mesh_iface_t & | mesh, | |||
| sp_jmatrix_t & | jmatrix | |||
| ) |
| bool blue_sky::reservoir< strategy_t >::check_limits | ( | const sp_params_t & | params | ) | const |
| sp_rate_control_t blue_sky::reservoir< strategy_t >::create_bhp_control | ( | bool | is_prod, | |
| const sp_calc_model_t & | calc_model | |||
| ) |
creates rate_control that control well by bhp
| is_prod | type of control (production or injection) | |
| calc_model | used to determine what phases present in model |
| sp_connection_t blue_sky::reservoir< strategy_t >::create_connection | ( | ) |
| sp_rate_control_t blue_sky::reservoir< strategy_t >::create_rate_control | ( | bool | is_prod, | |
| wells::rate_control_type | control_type, | |||
| const sp_calc_model_t & | calc_model | |||
| ) |
creates rate_control that control well by rate
| is_prod | type of control (production or injection) | |
| control_type | of control (see rate_control_type) | |
| calc_model | used to determine what phases present in model |
| sp_well_t blue_sky::reservoir< strategy_t >::create_well | ( | const std::string & | group_name, | |
| const std::string & | well_name | |||
| ) |
| sp_well_controller_t blue_sky::reservoir< strategy_t >::create_well_controller | ( | const sp_well_t & | owner_well | ) |
| sp_well_limit_operation_t blue_sky::reservoir< strategy_t >::create_well_limit_operation | ( | const sp_well_t & | owner_well, | |
| wells::limit_operation_type | operation | |||
| ) |
| void blue_sky::reservoir< strategy_t >::end_jacobian | ( | item_t | dt, | |
| const sp_calc_model_t & | calc_model, | |||
| sp_jacobian_t & | jacobian | |||
| ) |
ends building of jacobian
| dt | current dt | |
| calc_model | ||
| jacobian | holds jacobian_matrix that builded |
| void blue_sky::reservoir< strategy_t >::fill_rhs_wells | ( | double | dt, | |
| const sp_calc_model_t & | calc_model, | |||
| rhs_item_array_t & | rhs, | |||
| bool | update_after_gauss_elimination | |||
| ) | const |
| size_t blue_sky::reservoir< strategy_t >::get_connections_count | ( | ) | const |
returns total connections count over all facilities
| const sp_event_filter_t& blue_sky::reservoir< strategy_t >::get_event_filter | ( | ) | const |
| sp_facility_manager_t blue_sky::reservoir< strategy_t >::get_facility_list | ( | ) | const |
returns facility list
| sp_well_t blue_sky::reservoir< strategy_t >::get_well | ( | const std::string & | well_name | ) | const |
| sp_well_t blue_sky::reservoir< strategy_t >::get_well | ( | const std::string & | group_name, | |
| const std::string & | well_name | |||
| ) | const |
| sp_well_controller_factory_t blue_sky::reservoir< strategy_t >::get_well_controller_factory | ( | ) | const |
returns pointer to well_controller factory instance
| sp_well_factory_t blue_sky::reservoir< strategy_t >::get_well_factory | ( | ) | const |
| sp_well_limit_operation_factory_t blue_sky::reservoir< strategy_t >::get_well_limit_operation_factory | ( | ) | const |
returns pointer to well_limit_operation factory
| void blue_sky::reservoir< strategy_t >::init_jacobian | ( | const sp_jmatrix_t & | jmx, | |
| index_t | n_cells | |||
| ) |
inits jacobian
| jmx | jacobian_matrix that should be inited | |
| n_cells | number of cells in mesh |
| void blue_sky::reservoir< strategy_t >::init_rows | ( | index_array_t & | rows | ) | const [private] |
| void blue_sky::reservoir< strategy_t >::pre_large_step | ( | const sp_calc_model_t & | calc_model, | |
| const sp_mesh_iface_t & | mesh | |||
| ) |
| void blue_sky::reservoir< strategy_t >::pre_newton_step | ( | ) |
for each facility calls pre_newton_step
| void blue_sky::reservoir< strategy_t >::pre_small_step | ( | ) |
for each facility calls pre_small_step
| item_t blue_sky::reservoir< strategy_t >::pressure | ( | ) | const |
| const rate_data_t& blue_sky::reservoir< strategy_t >::rate | ( | ) | const [inline] |
returns rate data
| void blue_sky::reservoir< strategy_t >::restart_newton_step | ( | ) |
for each facility calls restart_newton_step
| void blue_sky::reservoir< strategy_t >::restart_small_step | ( | ) |
for each facility calls restart_small_step
| void blue_sky::reservoir< strategy_t >::restore_wells_solution | ( | double | dt, | |
| const item_array_t & | p_sol, | |||
| const item_array_t & | s_sol, | |||
| index_t | block_size | |||
| ) |
for each facility calls restore_solution
| dt | ||
| p_sol | primary solution vector | |
| s_sol | secondary solution vector | |
| block_size | size of one block in vectors |
| void blue_sky::reservoir< strategy_t >::save_data | ( | const sp_storage_t & | storage | ) | const |
saves facilities data in data storage
| storage | data storage |
| void blue_sky::reservoir< strategy_t >::set_well_controller_factory | ( | const sp_well_controller_factory_t & | factory | ) |
sets well_controller factory
| pointer | to well_controller factory instance |
| void blue_sky::reservoir< strategy_t >::set_well_factory | ( | const sp_well_factory_t & | factory | ) |
| void blue_sky::reservoir< strategy_t >::set_well_limit_operation_factory | ( | const sp_well_limit_operation_factory_t & | factory | ) |
sets well_limit_operation factory
| pointer | to well_limit_operation factory instance |
sp_event_filter_t blue_sky::reservoir< strategy_t >::event_filter_ [private] |
events filter
sp_facility_manager_t blue_sky::reservoir< strategy_t >::facility_list_ [private] |
index_array_t blue_sky::reservoir< strategy_t >::markers_ [private] |
markers, used to build jacobian
| rate_data_t blue_sky::reservoir< strategy_t >::rate_ |
reservoir rate
| rate_data_t blue_sky::reservoir< strategy_t >::rate_initial_ |
inital rate on current step
| rate_data_t blue_sky::reservoir< strategy_t >::rate_rc_ |
| rate_data_t blue_sky::reservoir< strategy_t >::rate_rc_wefac_ |
rate_rc_ * wefac
| rate_data_t blue_sky::reservoir< strategy_t >::rate_total_ |
total rate
| rate_data_t blue_sky::reservoir< strategy_t >::rate_wefac_ |
rate_ * wefac
sp_well_controller_factory_t blue_sky::reservoir< strategy_t >::well_controller_factory_ [private] |
factory for well controllers
sp_well_factory_t blue_sky::reservoir< strategy_t >::well_factory_ [private] |
factory for wells and connections
sp_well_limit_operation_factory_t blue_sky::reservoir< strategy_t >::well_limit_operation_factory_ [private] |
factory for well limit operations
1.5.8