#include <default_well.h>
Public Types | |
typedef well< strategy_t > | base_t |
typedef well< strategy_t > | well_t |
typedef base_t::item_array_t | item_array_t |
typedef base_t::rhs_item_array_t | rhs_item_array_t |
typedef base_t::index_array_t | index_array_t |
typedef base_t::index_t | index_t |
typedef base_t::item_t | item_t |
typedef base_t::rhs_item_t | rhs_item_t |
typedef base_t::sp_calc_model_t | sp_calc_model_t |
typedef base_t::sp_mesh_iface_t | sp_mesh_iface_t |
typedef base_t::sp_jmatrix_t | sp_jmatrix_t |
typedef base_t::connection_t | connection_t |
typedef default_connection < strategy_t > | default_connection_t |
typedef base_t::sp_connection_t | sp_connection_t |
typedef smart_ptr < default_connection_t > | sp_default_connection_t |
typedef seq_vector < sp_default_connection_t > | connection_list_t |
typedef index_t | connection_block_t |
typedef index_t | connection_index_t |
typedef std::map < connection_block_t, connection_index_t > | connection_map_t |
Public Member Functions | |
default_well (const std::string &well_name) | |
ctor | |
BLUE_SKY_TYPE_DECL_T (default_well< strategy_t >) | |
blue-sky type declaration | |
void | restore_solution (double dt, const item_array_t &p_sol, const item_array_t &s_sol, index_t block_size) |
Restores solution. | |
void | process (bool is_start, double dt, const sp_calc_model_t &calc_model, const sp_mesh_iface_t &mesh, sp_jmatrix_t &jmatrix) |
Calculates rate and deriv values for well and well perforations (connections). | |
void | eliminate (rhs_item_t *array, index_t rw_index, index_t wr_index, double dt, index_t block_size) const |
Calculates Jacobian value and stores it in array. | |
void | clear_data () |
Clears well and well perforations data. | |
array_ext< item_t > | get_ww_value () |
Returns ww_value. | |
array_ext< item_t > | get_bw_value () |
Returns bw_value. | |
sp_connection_t | add_connection (index_t i_coord, index_t j_coord, index_t k_coord, index_t n_block) |
Adds connection (perforation) to well and return it. | |
sp_connection_t | get_connection (index_t idx) const |
Returns connection (perforation) with index idx. | |
sp_connection_t | get_connection_map (index_t n_block) const |
Returns connection (perforation) with n_block. | |
virtual size_t | get_connections_count () const |
Returns count of connection (perforation) for well. | |
Public Attributes | |
item_t | ww_value |
WW value. | |
item_t | bw_value |
BW value. | |
connection_list_t | connection_list_ |
List of connections (default_connection). | |
connection_map_t | connection_map_ |
Protected Member Functions | |
void | process_internal (bool is_start, const sp_calc_model_t &calc_model, const sp_mesh_iface_t &mesh, sp_jmatrix_t &jmatrix) |
Calculates rate and deriv values for well and well perforations (connections). | |
template<bool is_prod> | |
void | calc_rate_and_derivs (const sp_calc_model_t &calc_model, const sp_mesh_iface_t &mesh, sp_jmatrix_t &jmatrix) |
Calculates rate and derivs for well perforations, parametrized with is_prod value. is_prod true for production wells. | |
template<bool is_w, bool is_g, bool is_o, bool is_prod> | |
void | calc_rate_and_derivs_concrete (const sp_calc_model_t &calc_model, const sp_mesh_iface_t &mesh, sp_jmatrix_t &jmatrix) |
Calculates rate and derivs for well perforations, parametrized with is_w, is_g, is_o (for water phase, gas phase, oil phase) and is_prod (for production well). Called from calc_rate_and_derivs. |
typedef well<strategy_t> blue_sky::wells::default_well< strategy_t >::base_t |
typedef index_t blue_sky::wells::default_well< strategy_t >::connection_block_t |
typedef index_t blue_sky::wells::default_well< strategy_t >::connection_index_t |
typedef seq_vector<sp_default_connection_t> blue_sky::wells::default_well< strategy_t >::connection_list_t |
typedef std::map<connection_block_t, connection_index_t> blue_sky::wells::default_well< strategy_t >::connection_map_t |
typedef base_t::connection_t blue_sky::wells::default_well< strategy_t >::connection_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef default_connection<strategy_t> blue_sky::wells::default_well< strategy_t >::default_connection_t |
typedef base_t::index_array_t blue_sky::wells::default_well< strategy_t >::index_array_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef base_t::index_t blue_sky::wells::default_well< strategy_t >::index_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef base_t::item_array_t blue_sky::wells::default_well< strategy_t >::item_array_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef base_t::item_t blue_sky::wells::default_well< strategy_t >::item_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef base_t::rhs_item_array_t blue_sky::wells::default_well< strategy_t >::rhs_item_array_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef base_t::rhs_item_t blue_sky::wells::default_well< strategy_t >::rhs_item_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef base_t::sp_calc_model_t blue_sky::wells::default_well< strategy_t >::sp_calc_model_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef base_t::sp_connection_t blue_sky::wells::default_well< strategy_t >::sp_connection_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef smart_ptr<default_connection_t> blue_sky::wells::default_well< strategy_t >::sp_default_connection_t |
typedef base_t::sp_jmatrix_t blue_sky::wells::default_well< strategy_t >::sp_jmatrix_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef base_t::sp_mesh_iface_t blue_sky::wells::default_well< strategy_t >::sp_mesh_iface_t |
Reimplemented from blue_sky::well< strategy_t >.
typedef well<strategy_t> blue_sky::wells::default_well< strategy_t >::well_t |
Reimplemented from blue_sky::well< strategy_t >.
blue_sky::wells::default_well< strategy_t >::default_well | ( | const std::string & | well_name | ) |
sp_connection_t blue_sky::wells::default_well< strategy_t >::add_connection | ( | index_t | i_coord, | |
index_t | j_coord, | |||
index_t | k_coord, | |||
index_t | n_block | |||
) |
Adds connection (perforation) to well and return it.
i_coord | i coordinate of perforation | |
j_coord | j coordinate of perforation | |
k_coord | k coordinate of perforation | |
n_block | Index of block (cell) in mesh for (i, j, k) coordinates |
blue_sky::wells::default_well< strategy_t >::BLUE_SKY_TYPE_DECL_T | ( | default_well< strategy_t > | ) |
blue-sky type declaration
void blue_sky::wells::default_well< strategy_t >::calc_rate_and_derivs | ( | const sp_calc_model_t & | calc_model, | |
const sp_mesh_iface_t & | mesh, | |||
sp_jmatrix_t & | jmatrix | |||
) | [inline, protected] |
Calculates rate and derivs for well perforations, parametrized with is_prod value. is_prod true for production wells.
calc_model | ||
mesh | ||
jmatrix |
void blue_sky::wells::default_well< strategy_t >::calc_rate_and_derivs_concrete | ( | const sp_calc_model_t & | calc_model, | |
const sp_mesh_iface_t & | mesh, | |||
sp_jmatrix_t & | jmatrix | |||
) | [inline, protected] |
Calculates rate and derivs for well perforations, parametrized with is_w, is_g, is_o (for water phase, gas phase, oil phase) and is_prod (for production well). Called from calc_rate_and_derivs.
calc_model | ||
mesh | ||
jmatrix |
void blue_sky::wells::default_well< strategy_t >::clear_data | ( | ) | [virtual] |
void blue_sky::wells::default_well< strategy_t >::eliminate | ( | rhs_item_t * | array, | |
index_t | rw_index, | |||
index_t | wr_index, | |||
double | dt, | |||
index_t | block_size | |||
) | const |
Calculates Jacobian value and stores it in array.
array | Array of Jacobian values | |
rw_index | ||
wr_index | ||
dt | ||
block_size |
array_ext<item_t> blue_sky::wells::default_well< strategy_t >::get_bw_value | ( | ) | [virtual] |
sp_connection_t blue_sky::wells::default_well< strategy_t >::get_connection | ( | index_t | idx | ) | const |
Returns connection (perforation) with index idx.
idx | Index of connection |
sp_connection_t blue_sky::wells::default_well< strategy_t >::get_connection_map | ( | index_t | n_block | ) | const |
Returns connection (perforation) with n_block.
n_block | Value of block index |
virtual size_t blue_sky::wells::default_well< strategy_t >::get_connections_count | ( | ) | const [virtual] |
Returns count of connection (perforation) for well.
Reimplemented from blue_sky::well< strategy_t >.
array_ext<item_t> blue_sky::wells::default_well< strategy_t >::get_ww_value | ( | ) | [virtual] |
void blue_sky::wells::default_well< strategy_t >::process | ( | bool | is_start, | |
double | dt, | |||
const sp_calc_model_t & | calc_model, | |||
const sp_mesh_iface_t & | mesh, | |||
sp_jmatrix_t & | jmatrix | |||
) |
Calculates rate and deriv values for well and well perforations (connections).
is_start | ||
dt | ||
calc_model | ||
mesh | ||
jmatrix |
void blue_sky::wells::default_well< strategy_t >::process_internal | ( | bool | is_start, | |
const sp_calc_model_t & | calc_model, | |||
const sp_mesh_iface_t & | mesh, | |||
sp_jmatrix_t & | jmatrix | |||
) | [protected] |
Calculates rate and deriv values for well and well perforations (connections).
is_start | ||
dt | ||
calc_model | ||
mesh | ||
jmatrix |
void blue_sky::wells::default_well< strategy_t >::restore_solution | ( | double | dt, | |
const item_array_t & | p_sol, | |||
const item_array_t & | s_sol, | |||
index_t | block_size | |||
) |
Restores solution.
dt | ||
p_sol | primary solution vector | |
s_sol | secondary solution vector | |
block_size | size of one block in vectors |
item_t blue_sky::wells::default_well< strategy_t >::bw_value |
BW value.
connection_list_t blue_sky::wells::default_well< strategy_t >::connection_list_ |
List of connections (default_connection).
connection_map_t blue_sky::wells::default_well< strategy_t >::connection_map_ |
item_t blue_sky::wells::default_well< strategy_t >::ww_value |
WW value.