#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