blue_sky::well< strategy_t > Class Template Reference

Base class for wells. More...

#include <calc_well.h>

Inheritance diagram for blue_sky::well< strategy_t >:

Inheritance graph
[legend]
Collaboration diagram for blue_sky::well< strategy_t >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef well< strategy_t > well_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_array_t index_array_t
typedef strategy_t::index_t index_t
typedef strategy_t::item_t item_t
typedef strategy_t::rhs_item_t rhs_item_t
typedef rate_data< strategy_t > rate_data_t
typedef
rate_data_t::rate_data_inner 
rate_data_inner_t
typedef well_state< strategy_t > well_state_t
typedef wells::well_controller
< strategy_t > 
well_controller_t
typedef
wells::well_rate_control
< strategy_t > 
well_rate_control_t
typedef calc_model< strategy_t > calc_model_t
typedef calc_model_data
< strategy_t > 
calc_model_data_t
typedef wells::connection
< strategy_t > 
connection_t
typedef rs_mesh_iface< strategy_t > mesh_iface_t
typedef jacobian_matrix
< strategy_t > 
jacobian_matrix_t
typedef pvt_oil< strategy_t > pvt_oil_t
typedef pvt_dead_oil< strategy_t > pvt_dead_oil_t
typedef pvt_gas< strategy_t > pvt_gas_t
typedef pvt_water< strategy_t > pvt_water_t
typedef
calc_well_pressure_base
< strategy_t > 
calc_well_pressure_t
typedef calc_rho_base< strategy_t > calc_rho_base_t
typedef calc_perf_density_base
< strategy_t > 
calc_perf_density_t
typedef calc_perf_bhp_base
< strategy_t > 
calc_perf_bhp_t
typedef smart_ptr
< well_controller_t, true > 
sp_well_controller_t
typedef smart_ptr
< wells::well_limit_operation,
true > 
sp_well_limit_operation_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< well_t, true > sp_well_t
typedef smart_ptr< pvt_oil_t,
true > 
sp_pvt_oil_t
typedef smart_ptr
< pvt_dead_oil_t, true > 
sp_pvt_dead_oil_t
typedef smart_ptr< pvt_gas_t,
true > 
sp_pvt_gas_t
typedef smart_ptr< pvt_water_t,
true > 
sp_pvt_water_t
typedef smart_ptr
< jacobian_matrix_t, true > 
sp_jmatrix_t
typedef smart_ptr
< connection_t, true > 
sp_connection_t
typedef smart_ptr
< calc_well_pressure_t, true > 
sp_calc_well_pressure_t
typedef smart_ptr
< calc_rho_base_t, true > 
sp_calc_rho_t
typedef smart_ptr
< calc_perf_density_t, true > 
sp_calc_perf_density_t
typedef smart_ptr
< calc_perf_bhp_t, true > 
sp_calc_perf_bhp_t
typedef smart_ptr< fi_params,
true > 
sp_params_t

Public Member Functions

virtual 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.
virtual sp_connection_t get_connection (index_t idx) const
 Returns connection (perforation) with index idx.
virtual 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.
void set_coord (index_t i_coord, index_t j_coord)
 Sets coordinates of heel.
void set_bhp_depth (item_t bhp_depth)
 Sets BHP reference depth.
void set_state (well_state_type well_state, const sp_calc_model_t &calc_model)
 Sets initial state of well.
void set_exploitation_factor (item_t exploitation_factor)
 Sets exploitation factor (wefac).
void set_controller (sp_well_controller_t controller)
 Sets well controller.
void set_limit_operation (sp_well_limit_operation_t limit_operation)
 Sets well limit operation - operation that should be performed if well limits reached.
sp_well_controller_t get_controller () const
 Returns well_controler instance.
sp_well_limit_operation_t get_limit_operation () const
 Returns well_limit_operation instance.
const std::string & get_name () const
 Returns name of the well.
void set_name (const std::string &name)
 Sets name of the well.
item_t get_bhp_depth () const
 Returns BHP reference depth.
item_t bhp () const
 Returns BHP value.
const rate_data_trate () const
 Returns rate data.
const rate_data_trate_total () const
 Returns total rate data.
const rate_data_inner_trate_prod () const
 Returns production part of rate data.
const rate_data_inner_trate_inj () const
 Returns injection part of rate data.
bool is_open () const
 Checks if well is open.
const std::string & name () const
 Returns name of the well.
void set_bhp (item_t bhp)
 Sets value of BHP.
bool fi_check_limits () const
item_t get_reference_depth (const sp_mesh_iface_t &mesh) const
 Returns calculated reference depth.
item_t get_reference_pressure () const
 Returns BHP value.
bool check_connections_bhp (const item_array_t &pressure) const
 Checks connections BHP.
bool is_bhp () const
 Returns true if well controlled by BHP.
bool is_rate () const
 Returns true if well controlled by rate.
bool is_shut () const
 Returns true is well is shuted.
const sp_well_controller_tget_well_controller () const
 Returns well_controller instance.
item_t get_input_rate () const
 Returns input rate (from well_controller).
bool check_shut (const sp_calc_model_t &calc_model)
 Checks well on shut if not shut fills open_connections_ array.
void reset_init_approx ()
 Resets init_approx_is_calc_ flag.
virtual array_ext< item_tget_ww_value ()
 Returns ww_value.
virtual array_ext< item_tget_bw_value ()
 Returns bw_value.
virtual 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.
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)
 Calculates rate and deriv values for well and well perforations (connections).
virtual void clear_data ()
 Clears well and well perforations data.
virtual void fill_rows (index_array_t &rows) const
 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
 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
 Fills rhs array with rate values.
virtual void restore_solution (double dt, const item_array_t &p_sol, const item_array_t &s_sol, index_t block_size)
 Restores solution.
virtual void custom_init (const sp_calc_model_t &mdl)
 Custom init.
virtual void pre_large_step (const sp_calc_model_t &calc_model, const sp_mesh_iface_t &mesh)
 Performs actions before start of each large step.
virtual void pre_small_step ()
 Performs actions before start of each small step.
virtual void pre_newton_step ()
 Performs actions before start of each newton step.
virtual void restart_small_step ()
 Restores 'internal-state' of well if small step failed.
virtual void restart_newton_step ()
 Restores 'internal-state' of well if newton step failed.
virtual ~well ()
 well dtor
 well (const std::string &well_name)
 well ctor
 BLUE_SKY_TYPE_DECL_T (well< strategy_t >)
 blue-sky type declaration

Public Attributes

std::string name_
 Name of the well.
auto_value< index_t,-1 > i_coord_
 i coordinate of hell (well head)
auto_value< index_t,-1 > j_coord_
 j coordinate of hell (well head)
sp_well_controller_t well_controller_
 well_controller instance
auto_value< item_t,-1 > bhp_depth_
 BHP reference depth.
auto_value< item_t, 1 > exploitation_factor_
 Exploitation factor (wefac).
well_state_t well_state_
 State of well.
well_state_t saved_well_state_
 State of well on begin of small (or large) step.
well_state_t saved_niter_well_state_
 State of well on begin of newton step.
sp_well_limit_operation_t well_limit_operation_
 well_limit_operation instance
rate_data_t rate_
 Rate data.
rate_data_t rate_total_
 Total rate data (from begin of simulation).
rate_data_t rate_rc_
 Rate data in reservoir conditions.
item_t bhp_
 BHP value.
item_t gor_
 gas_oil_ratio value

Protected Member Functions

void shut_well (const sp_calc_model_t &well)
 Shuts well, sets bulkp and bhp values for each perforation (connection) to value of calc_model pressure.
void compute_connection_factor (const physical_constants &internal_constants, const sp_params_t &params, const sp_mesh_iface_t &mesh, const item_array_t &perm, const item_array_t &ntg, bool ro_calc_flag)
 Computes perforations (connections) factor.

Protected Attributes

auto_value< bool, false > init_approx_is_calc_
 Flag that specified should initial approximation calculated.
auto_value< item_tinput_reference_depth_
sp_calc_well_pressure_t calc_well_pressure_
 Instance of object that calculates well pressure.
sp_calc_rho_t calc_rho_
sp_calc_perf_density_t calc_perf_density_
 Instance of object that calculates well perforations density.
sp_calc_perf_bhp_t calc_perf_bhp_
 Instance of object that calculates well perforations BHP.
index_array_t open_connections_
 Array of indexes of open perforations (connections).


Detailed Description

template<typename strategy_t>
class blue_sky::well< strategy_t >

Base class for wells.

Member Typedef Documentation

template<typename strategy_t>
typedef calc_model_data<strategy_t> blue_sky::well< strategy_t >::calc_model_data_t

template<typename strategy_t>
typedef calc_model<strategy_t> blue_sky::well< strategy_t >::calc_model_t

template<typename strategy_t>
typedef calc_perf_bhp_base<strategy_t> blue_sky::well< strategy_t >::calc_perf_bhp_t

template<typename strategy_t>
typedef calc_perf_density_base<strategy_t> blue_sky::well< strategy_t >::calc_perf_density_t

template<typename strategy_t>
typedef calc_rho_base<strategy_t> blue_sky::well< strategy_t >::calc_rho_base_t

template<typename strategy_t>
typedef calc_well_pressure_base<strategy_t> blue_sky::well< strategy_t >::calc_well_pressure_t

template<typename strategy_t>
typedef wells::connection<strategy_t> blue_sky::well< strategy_t >::connection_t

template<typename strategy_t>
typedef strategy_t::index_array_t blue_sky::well< strategy_t >::index_array_t

template<typename strategy_t>
typedef strategy_t::index_t blue_sky::well< strategy_t >::index_t

template<typename strategy_t>
typedef strategy_t::item_array_t blue_sky::well< strategy_t >::item_array_t

template<typename strategy_t>
typedef strategy_t::item_t blue_sky::well< strategy_t >::item_t

template<typename strategy_t>
typedef jacobian_matrix<strategy_t> blue_sky::well< strategy_t >::jacobian_matrix_t

template<typename strategy_t>
typedef rs_mesh_iface<strategy_t> blue_sky::well< strategy_t >::mesh_iface_t

template<typename strategy_t>
typedef pvt_dead_oil<strategy_t> blue_sky::well< strategy_t >::pvt_dead_oil_t

template<typename strategy_t>
typedef pvt_gas<strategy_t> blue_sky::well< strategy_t >::pvt_gas_t

template<typename strategy_t>
typedef pvt_oil<strategy_t> blue_sky::well< strategy_t >::pvt_oil_t

template<typename strategy_t>
typedef pvt_water<strategy_t> blue_sky::well< strategy_t >::pvt_water_t

template<typename strategy_t>
typedef rate_data_t::rate_data_inner blue_sky::well< strategy_t >::rate_data_inner_t

template<typename strategy_t>
typedef rate_data<strategy_t> blue_sky::well< strategy_t >::rate_data_t

template<typename strategy_t>
typedef strategy_t::rhs_item_array_t blue_sky::well< strategy_t >::rhs_item_array_t

template<typename strategy_t>
typedef strategy_t::rhs_item_t blue_sky::well< strategy_t >::rhs_item_t

template<typename strategy_t>
typedef smart_ptr<calc_model_t, true> blue_sky::well< strategy_t >::sp_calc_model_t

template<typename strategy_t>
typedef smart_ptr<calc_perf_bhp_t, true> blue_sky::well< strategy_t >::sp_calc_perf_bhp_t

template<typename strategy_t>
typedef smart_ptr<calc_perf_density_t, true> blue_sky::well< strategy_t >::sp_calc_perf_density_t

template<typename strategy_t>
typedef smart_ptr<calc_rho_base_t, true> blue_sky::well< strategy_t >::sp_calc_rho_t

template<typename strategy_t>
typedef smart_ptr<calc_well_pressure_t, true> blue_sky::well< strategy_t >::sp_calc_well_pressure_t

template<typename strategy_t>
typedef smart_ptr<connection_t, true> blue_sky::well< strategy_t >::sp_connection_t

template<typename strategy_t>
typedef smart_ptr<jacobian_matrix_t, true> blue_sky::well< strategy_t >::sp_jmatrix_t

template<typename strategy_t>
typedef smart_ptr<mesh_iface_t, true> blue_sky::well< strategy_t >::sp_mesh_iface_t

template<typename strategy_t>
typedef smart_ptr<fi_params, true> blue_sky::well< strategy_t >::sp_params_t

template<typename strategy_t>
typedef smart_ptr<pvt_dead_oil_t, true> blue_sky::well< strategy_t >::sp_pvt_dead_oil_t

template<typename strategy_t>
typedef smart_ptr<pvt_gas_t, true> blue_sky::well< strategy_t >::sp_pvt_gas_t

template<typename strategy_t>
typedef smart_ptr<pvt_oil_t, true> blue_sky::well< strategy_t >::sp_pvt_oil_t

template<typename strategy_t>
typedef smart_ptr<pvt_water_t, true> blue_sky::well< strategy_t >::sp_pvt_water_t

template<typename strategy_t>
typedef smart_ptr<well_controller_t, true> blue_sky::well< strategy_t >::sp_well_controller_t

template<typename strategy_t>
typedef smart_ptr<wells::well_limit_operation, true> blue_sky::well< strategy_t >::sp_well_limit_operation_t

template<typename strategy_t>
typedef smart_ptr<well_t, true> blue_sky::well< strategy_t >::sp_well_t

template<typename strategy_t>
typedef wells::well_controller<strategy_t> blue_sky::well< strategy_t >::well_controller_t

template<typename strategy_t>
typedef wells::well_rate_control<strategy_t> blue_sky::well< strategy_t >::well_rate_control_t

template<typename strategy_t>
typedef well_state<strategy_t> blue_sky::well< strategy_t >::well_state_t

template<typename strategy_t>
typedef well<strategy_t> blue_sky::well< strategy_t >::well_t


Constructor & Destructor Documentation

template<typename strategy_t>
virtual blue_sky::well< strategy_t >::~well (  )  [virtual]

well dtor

template<typename strategy_t>
blue_sky::well< strategy_t >::well ( const std::string &  well_name  ) 

well ctor

Parameters:
name of new well
Todo:
Obsolete


Member Function Documentation

template<typename strategy_t>
virtual sp_connection_t blue_sky::well< strategy_t >::add_connection ( index_t  i_coord,
index_t  j_coord,
index_t  k_coord,
index_t  n_block 
) [inline, virtual]

Adds connection (perforation) to well and return it.

Parameters:
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
Returns:
Created connection

template<typename strategy_t>
item_t blue_sky::well< strategy_t >::bhp (  )  const [inline]

Returns BHP value.

Returns:
Value of BHP

template<typename strategy_t>
blue_sky::well< strategy_t >::BLUE_SKY_TYPE_DECL_T ( well< strategy_t >   ) 

blue-sky type declaration

template<typename strategy_t>
bool blue_sky::well< strategy_t >::check_connections_bhp ( const item_array_t pressure  )  const

Checks connections BHP.

Parameters:
pressure Array of pressure
Returns:
True if any connection have valid BHP value otherwise false

template<typename strategy_t>
bool blue_sky::well< strategy_t >::check_shut ( const sp_calc_model_t calc_model  ) 

Checks well on shut if not shut fills open_connections_ array.

Parameters:
calc_model (obsolete, should be removed)
Returns:
True if well is shut

template<typename strategy_t>
virtual void blue_sky::well< strategy_t >::clear_data (  )  [virtual]

Clears well and well perforations data.

Reimplemented in blue_sky::wells::default_well< strategy_t >.

template<typename strategy_t>
void blue_sky::well< strategy_t >::compute_connection_factor ( const physical_constants &  internal_constants,
const sp_params_t params,
const sp_mesh_iface_t mesh,
const item_array_t perm,
const item_array_t ntg,
bool  ro_calc_flag 
) [protected]

Computes perforations (connections) factor.

Parameters:
internal_constants 
params 
mesh 
perm 
ntg 
ro_calc_flag 

template<typename strategy_t>
virtual void blue_sky::well< strategy_t >::custom_init ( const sp_calc_model_t mdl  )  [virtual]

Custom init.

Parameters:
mdl Pointer to calc_model instance
Todo:
Specify more details

template<typename strategy_t>
virtual void blue_sky::well< strategy_t >::eliminate ( rhs_item_t array,
index_t  rw_index,
index_t  wr_index,
double  dt,
index_t  block_size 
) const [virtual]

Calculates Jacobian value and stores it in array.

Parameters:
array Array of Jacobian values
rw_index 
wr_index 
dt 
block_size 

template<typename strategy_t>
bool blue_sky::well< strategy_t >::fi_check_limits (  )  const

Todo:
May be this method is obsolete

template<typename strategy_t>
virtual void blue_sky::well< 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 [virtual]

Fills Jacobian colls and values, uses eliminate for fill values.

Parameters:
dt 
block_size 
rows 
cols 
values 
markers 

Implements blue_sky::facility_base< strategy_t >.

template<typename strategy_t>
virtual void blue_sky::well< 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 [virtual]

Fills rhs array with rate values.

Parameters:
dt 
n_phases 
is_g 
is_o 
is_w 
rhs Array of rhs values

Implements blue_sky::facility_base< strategy_t >.

template<typename strategy_t>
virtual void blue_sky::well< strategy_t >::fill_rows ( index_array_t rows  )  const [virtual]

Fills Jacobian rows.

Parameters:
rows Array of Jacobian Rows

Implements blue_sky::facility_base< strategy_t >.

template<typename strategy_t>
item_t blue_sky::well< strategy_t >::get_bhp_depth (  )  const [inline]

Returns BHP reference depth.

Returns:
Value of BHP reference depth

template<typename strategy_t>
virtual array_ext<item_t> blue_sky::well< strategy_t >::get_bw_value (  )  [virtual]

Returns bw_value.

Todo:
Obsolete, should be removed

Reimplemented in blue_sky::wells::default_well< strategy_t >.

template<typename strategy_t>
virtual sp_connection_t blue_sky::well< strategy_t >::get_connection ( index_t  idx  )  const [inline, virtual]

Returns connection (perforation) with index idx.

Parameters:
idx Index of connection
Returns:
connection instance on success otherwise null pointer

template<typename strategy_t>
virtual sp_connection_t blue_sky::well< strategy_t >::get_connection_map ( index_t  n_block  )  const [inline, virtual]

Returns connection (perforation) with n_block.

Parameters:
n_block Value of block index
Returns:
connection instance on success otherwise null pointer

template<typename strategy_t>
virtual size_t blue_sky::well< strategy_t >::get_connections_count (  )  const [inline, virtual]

Returns count of connection (perforation) for well.

Returns:
Count of connections

Reimplemented in blue_sky::wells::default_well< strategy_t >.

template<typename strategy_t>
sp_well_controller_t blue_sky::well< strategy_t >::get_controller (  )  const

Returns well_controler instance.

Returns:
well_controller instance

template<typename strategy_t>
item_t blue_sky::well< strategy_t >::get_input_rate (  )  const

Returns input rate (from well_controller).

Returns:
Input rate

template<typename strategy_t>
sp_well_limit_operation_t blue_sky::well< strategy_t >::get_limit_operation (  )  const

Returns well_limit_operation instance.

Returns:
well_limit_operation instance

template<typename strategy_t>
const std::string& blue_sky::well< strategy_t >::get_name (  )  const

Returns name of the well.

Returns:
Name of the well

template<typename strategy_t>
item_t blue_sky::well< strategy_t >::get_reference_depth ( const sp_mesh_iface_t mesh  )  const

Returns calculated reference depth.

Parameters:
mesh 
Returns:
Value of calculated reference depth

template<typename strategy_t>
item_t blue_sky::well< strategy_t >::get_reference_pressure (  )  const

Returns BHP value.

Returns:
BHP value

template<typename strategy_t>
const sp_well_controller_t& blue_sky::well< strategy_t >::get_well_controller (  )  const

Returns well_controller instance.

Returns:
Pointer to well_controller instance

template<typename strategy_t>
virtual array_ext<item_t> blue_sky::well< strategy_t >::get_ww_value (  )  [virtual]

Returns ww_value.

Todo:
Obsolete, should be removed

Reimplemented in blue_sky::wells::default_well< strategy_t >.

template<typename strategy_t>
bool blue_sky::well< strategy_t >::is_bhp (  )  const

Returns true if well controlled by BHP.

Returns:
True if well controlled by BHP

template<typename strategy_t>
bool blue_sky::well< strategy_t >::is_open (  )  const [inline]

Checks if well is open.

Returns:
True if well is open otherwise false

template<typename strategy_t>
bool blue_sky::well< strategy_t >::is_rate (  )  const

Returns true if well controlled by rate.

Returns:
True if well controlled by rate

template<typename strategy_t>
bool blue_sky::well< strategy_t >::is_shut (  )  const

Returns true is well is shuted.

Returns:
True if well state is shut

template<typename strategy_t>
const std::string& blue_sky::well< strategy_t >::name (  )  const

Returns name of the well.

Returns:
Name of the well

template<typename strategy_t>
virtual void blue_sky::well< strategy_t >::pre_large_step ( const sp_calc_model_t calc_model,
const sp_mesh_iface_t mesh 
) [virtual]

Performs actions before start of each large step.

Parameters:
calc_model 
mesh 

Implements blue_sky::facility_base< strategy_t >.

template<typename strategy_t>
virtual void blue_sky::well< strategy_t >::pre_newton_step (  )  [virtual]

Performs actions before start of each newton step.

Implements blue_sky::facility_base< strategy_t >.

template<typename strategy_t>
virtual void blue_sky::well< strategy_t >::pre_small_step (  )  [virtual]

Performs actions before start of each small step.

Implements blue_sky::facility_base< strategy_t >.

template<typename strategy_t>
virtual void blue_sky::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 
) [virtual]

Calculates rate and deriv values for well and well perforations (connections).

Parameters:
is_start 
dt 
calc_model 
mesh 
jmatrix 

template<typename strategy_t>
const rate_data_t& blue_sky::well< strategy_t >::rate (  )  const [inline]

Returns rate data.

Returns:
Rate data

template<typename strategy_t>
const rate_data_inner_t& blue_sky::well< strategy_t >::rate_inj (  )  const [inline]

Returns injection part of rate data.

Returns:
Injection part of rate data

template<typename strategy_t>
const rate_data_inner_t& blue_sky::well< strategy_t >::rate_prod (  )  const [inline]

Returns production part of rate data.

Returns:
Production part of rate data

template<typename strategy_t>
const rate_data_t& blue_sky::well< strategy_t >::rate_total (  )  const [inline]

Returns total rate data.

Returns:
Total rate data

template<typename strategy_t>
void blue_sky::well< strategy_t >::reset_init_approx (  ) 

Resets init_approx_is_calc_ flag.

template<typename strategy_t>
virtual void blue_sky::well< strategy_t >::restart_newton_step (  )  [virtual]

Restores 'internal-state' of well if newton step failed.

Implements blue_sky::facility_base< strategy_t >.

template<typename strategy_t>
virtual void blue_sky::well< strategy_t >::restart_small_step (  )  [virtual]

Restores 'internal-state' of well if small step failed.

Implements blue_sky::facility_base< strategy_t >.

template<typename strategy_t>
virtual void blue_sky::well< strategy_t >::restore_solution ( double  dt,
const item_array_t p_sol,
const item_array_t s_sol,
index_t  block_size 
) [virtual]

Restores solution.

Parameters:
dt 
p_sol primary solution vector
s_sol secondary solution vector
block_size size of one block in vectors

Implements blue_sky::facility_base< strategy_t >.

template<typename strategy_t>
void blue_sky::well< strategy_t >::set_bhp ( item_t  bhp  ) 

Sets value of BHP.

Parameters:
bhp Value of BHP

template<typename strategy_t>
void blue_sky::well< strategy_t >::set_bhp_depth ( item_t  bhp_depth  ) 

Sets BHP reference depth.

Parameters:
bhp_depth BHP reference depth

template<typename strategy_t>
void blue_sky::well< strategy_t >::set_controller ( sp_well_controller_t  controller  ) 

Sets well controller.

Parameters:
controller Pointer to well_control instance

template<typename strategy_t>
void blue_sky::well< strategy_t >::set_coord ( index_t  i_coord,
index_t  j_coord 
)

Sets coordinates of heel.

Parameters:
i_coord i coordinate of heel
j_coord j coordinate of heel

template<typename strategy_t>
void blue_sky::well< strategy_t >::set_exploitation_factor ( item_t  exploitation_factor  ) 

Sets exploitation factor (wefac).

Parameters:
exploitation_factor 
Todo:
Should be renamed to wefac

template<typename strategy_t>
void blue_sky::well< strategy_t >::set_limit_operation ( sp_well_limit_operation_t  limit_operation  ) 

Sets well limit operation - operation that should be performed if well limits reached.

Parameters:
limit_operation Pointer to well_limit_operation instance

template<typename strategy_t>
void blue_sky::well< strategy_t >::set_name ( const std::string &  name  ) 

Sets name of the well.

Parameters:
name Name of the well

template<typename strategy_t>
void blue_sky::well< strategy_t >::set_state ( well_state_type  well_state,
const sp_calc_model_t calc_model 
)

Sets initial state of well.

Parameters:
well_state initial well state
calc_model 

template<typename strategy_t>
void blue_sky::well< strategy_t >::shut_well ( const sp_calc_model_t well  )  [protected]

Shuts well, sets bulkp and bhp values for each perforation (connection) to value of calc_model pressure.

Parameters:
calc_model 


Member Data Documentation

template<typename strategy_t>
item_t blue_sky::well< strategy_t >::bhp_

BHP value.

template<typename strategy_t>
auto_value<item_t, -1> blue_sky::well< strategy_t >::bhp_depth_

BHP reference depth.

template<typename strategy_t>
sp_calc_perf_bhp_t blue_sky::well< strategy_t >::calc_perf_bhp_ [protected]

Instance of object that calculates well perforations BHP.

template<typename strategy_t>
sp_calc_perf_density_t blue_sky::well< strategy_t >::calc_perf_density_ [protected]

Instance of object that calculates well perforations density.

template<typename strategy_t>
sp_calc_rho_t blue_sky::well< strategy_t >::calc_rho_ [protected]

Todo:
Should be removed

template<typename strategy_t>
sp_calc_well_pressure_t blue_sky::well< strategy_t >::calc_well_pressure_ [protected]

Instance of object that calculates well pressure.

template<typename strategy_t>
auto_value<item_t, 1> blue_sky::well< strategy_t >::exploitation_factor_

Exploitation factor (wefac).

template<typename strategy_t>
item_t blue_sky::well< strategy_t >::gor_

gas_oil_ratio value

template<typename strategy_t>
auto_value<index_t, -1> blue_sky::well< strategy_t >::i_coord_

i coordinate of hell (well head)

template<typename strategy_t>
auto_value<bool, false> blue_sky::well< strategy_t >::init_approx_is_calc_ [protected]

Flag that specified should initial approximation calculated.

template<typename strategy_t>
auto_value<item_t> blue_sky::well< strategy_t >::input_reference_depth_ [protected]

Todo:
Should be removed

template<typename strategy_t>
auto_value<index_t, -1> blue_sky::well< strategy_t >::j_coord_

j coordinate of hell (well head)

template<typename strategy_t>
std::string blue_sky::well< strategy_t >::name_

Name of the well.

template<typename strategy_t>
index_array_t blue_sky::well< strategy_t >::open_connections_ [protected]

Array of indexes of open perforations (connections).

template<typename strategy_t>
rate_data_t blue_sky::well< strategy_t >::rate_

Rate data.

template<typename strategy_t>
rate_data_t blue_sky::well< strategy_t >::rate_rc_

Rate data in reservoir conditions.

template<typename strategy_t>
rate_data_t blue_sky::well< strategy_t >::rate_total_

Total rate data (from begin of simulation).

template<typename strategy_t>
well_state_t blue_sky::well< strategy_t >::saved_niter_well_state_

State of well on begin of newton step.

template<typename strategy_t>
well_state_t blue_sky::well< strategy_t >::saved_well_state_

State of well on begin of small (or large) step.

template<typename strategy_t>
sp_well_controller_t blue_sky::well< strategy_t >::well_controller_

well_controller instance

template<typename strategy_t>
sp_well_limit_operation_t blue_sky::well< strategy_t >::well_limit_operation_

well_limit_operation instance

template<typename strategy_t>
well_state_t blue_sky::well< strategy_t >::well_state_

State of well.


The documentation for this class was generated from the following file:

Generated on Fri Nov 13 12:07:13 2009 for TheBSEagleProject by  doxygen 1.5.8