#include <facility_base.h>
Public Types | |
typedef strategy_t::index_array_t | index_array_t |
typedef strategy_t::item_array_t | item_array_t |
typedef strategy_t::rhs_item_array_t | rhs_item_array_t |
typedef strategy_t::index_t | index_t |
typedef calc_model< strategy_t > | calc_model_t |
typedef rs_mesh_iface< strategy_t > | mesh_iface_t |
typedef jacobian_matrix < strategy_t > | jmatrix_t |
typedef smart_ptr < calc_model_t, true > | sp_calc_model_t |
typedef smart_ptr < mesh_iface_t, true > | sp_mesh_iface_t |
typedef smart_ptr< jmatrix_t, true > | sp_jmatrix_t |
Public Member Functions | |
virtual | ~facility_base () |
destructor | |
virtual void | fill_rows (index_array_t &rows) const =0 |
Fills Jacobian rows. | |
virtual void | fill_jacobian (double dt, index_t block_size, const index_array_t &rows, index_array_t &cols, rhs_item_array_t &values, index_array_t &markers) const =0 |
Fills Jacobian colls and values, uses eliminate for fill values. | |
virtual void | fill_rhs (double dt, index_t n_phases, bool is_g, bool is_o, bool is_w, rhs_item_array_t &rhs) const =0 |
Fills rhs array with rate values. | |
virtual void | process (bool is_start, double dt, const sp_calc_model_t &calc_model, const sp_mesh_iface_t &mesh, sp_jmatrix_t &jmatrix)=0 |
Calculates rate and deriv values for well and well perforations (connections). | |
virtual void | restore_solution (double dt, const item_array_t &p_sol, const item_array_t &s_sol, index_t block_size)=0 |
Restores solution. | |
virtual void | pre_large_step (const sp_calc_model_t &calc_model, const sp_mesh_iface_t &mesh)=0 |
Performs actions before start of each large step. | |
virtual void | pre_small_step ()=0 |
Performs actions before start of each small step. | |
virtual void | pre_newton_step ()=0 |
Performs actions before start of each newton step. | |
virtual void | restart_small_step ()=0 |
Restores 'internal-state' of well if small step failed. | |
virtual void | restart_newton_step ()=0 |
Restores 'internal-state' of well if newton step failed. |
typedef calc_model<strategy_t> blue_sky::facility_base< strategy_t >::calc_model_t |
Reimplemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.
typedef strategy_t::index_array_t blue_sky::facility_base< strategy_t >::index_array_t |
Reimplemented in blue_sky::well< strategy_t >, blue_sky::wells::default_well< strategy_t >, and blue_sky::well< strategy_t >.
typedef strategy_t::index_t blue_sky::facility_base< strategy_t >::index_t |
Reimplemented in blue_sky::well< strategy_t >, blue_sky::wells::default_well< strategy_t >, and blue_sky::well< strategy_t >.
typedef strategy_t::item_array_t blue_sky::facility_base< strategy_t >::item_array_t |
Reimplemented in blue_sky::well< strategy_t >, blue_sky::wells::default_well< strategy_t >, and blue_sky::well< strategy_t >.
typedef jacobian_matrix<strategy_t> blue_sky::facility_base< strategy_t >::jmatrix_t |
typedef rs_mesh_iface<strategy_t> blue_sky::facility_base< strategy_t >::mesh_iface_t |
Reimplemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.
typedef strategy_t::rhs_item_array_t blue_sky::facility_base< strategy_t >::rhs_item_array_t |
Reimplemented in blue_sky::well< strategy_t >, blue_sky::wells::default_well< strategy_t >, and blue_sky::well< strategy_t >.
typedef smart_ptr<calc_model_t, true> blue_sky::facility_base< strategy_t >::sp_calc_model_t |
Reimplemented in blue_sky::well< strategy_t >, blue_sky::wells::default_well< strategy_t >, and blue_sky::well< strategy_t >.
typedef smart_ptr<jmatrix_t, true> blue_sky::facility_base< strategy_t >::sp_jmatrix_t |
Reimplemented in blue_sky::well< strategy_t >, blue_sky::wells::default_well< strategy_t >, and blue_sky::well< strategy_t >.
typedef smart_ptr<mesh_iface_t, true> blue_sky::facility_base< strategy_t >::sp_mesh_iface_t |
Reimplemented in blue_sky::well< strategy_t >, blue_sky::wells::default_well< strategy_t >, and blue_sky::well< strategy_t >.
virtual blue_sky::facility_base< strategy_t >::~facility_base | ( | ) | [inline, virtual] |
destructor
virtual void blue_sky::facility_base< strategy_t >::fill_jacobian | ( | double | dt, | |
index_t | block_size, | |||
const index_array_t & | rows, | |||
index_array_t & | cols, | |||
rhs_item_array_t & | values, | |||
index_array_t & | markers | |||
) | const [pure virtual] |
Fills Jacobian colls and values, uses eliminate for fill values.
dt | ||
block_size | ||
rows | ||
cols | ||
values | ||
markers |
Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.
virtual void blue_sky::facility_base< strategy_t >::fill_rhs | ( | double | dt, | |
index_t | n_phases, | |||
bool | is_g, | |||
bool | is_o, | |||
bool | is_w, | |||
rhs_item_array_t & | rhs | |||
) | const [pure virtual] |
Fills rhs array with rate values.
dt | ||
n_phases | ||
is_g | ||
is_o | ||
is_w | ||
rhs | Array of rhs values |
Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.
virtual void blue_sky::facility_base< strategy_t >::fill_rows | ( | index_array_t & | rows | ) | const [pure virtual] |
Fills Jacobian rows.
rows | Array of Jacobian Rows |
Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.
virtual void blue_sky::facility_base< strategy_t >::pre_large_step | ( | const sp_calc_model_t & | calc_model, | |
const sp_mesh_iface_t & | mesh | |||
) | [pure virtual] |
Performs actions before start of each large step.
calc_model | ||
mesh |
Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.
virtual void blue_sky::facility_base< strategy_t >::pre_newton_step | ( | ) | [pure virtual] |
Performs actions before start of each newton step.
Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.
virtual void blue_sky::facility_base< strategy_t >::pre_small_step | ( | ) | [pure virtual] |
Performs actions before start of each small step.
Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.
virtual void blue_sky::facility_base< 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 | |||
) | [pure virtual] |
Calculates rate and deriv values for well and well perforations (connections).
is_start | ||
dt | ||
calc_model | ||
mesh | ||
jmatrix |
virtual void blue_sky::facility_base< strategy_t >::restart_newton_step | ( | ) | [pure virtual] |
Restores 'internal-state' of well if newton step failed.
Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.
virtual void blue_sky::facility_base< strategy_t >::restart_small_step | ( | ) | [pure virtual] |
Restores 'internal-state' of well if small step failed.
Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.
virtual void blue_sky::facility_base< strategy_t >::restore_solution | ( | double | dt, | |
const item_array_t & | p_sol, | |||
const item_array_t & | s_sol, | |||
index_t | block_size | |||
) | [pure virtual] |
Restores solution.
dt | ||
p_sol | primary solution vector | |
s_sol | secondary solution vector | |
block_size | size of one block in vectors |
Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.