blue_sky::wells::well_controller< strategy_t > Class Template Reference

Well controller. More...

#include <well_controller.h>

Inheritance diagram for blue_sky::wells::well_controller< strategy_t >:

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

Collaboration graph
[legend]

List of all members.

Public Types

typedef strategy_t::item_t item_t
typedef strategy_t::index_t index_t
typedef strategy_t::item_array_t item_array_t
typedef strategy_t::index_array_t index_array_t
typedef well_rate_control
< strategy_t > 
well_rate_control_t
typedef well< strategy_t > well_t
typedef connection< strategy_t > connection_t
typedef jacobian_matrix
< strategy_t > 
jacobian_matrix_t
typedef well_controller
< strategy_t > 
this_t
typedef calc_model< strategy_t > calc_model_t
typedef rate_data< strategy_t > rate_data_t
typedef smart_ptr
< calc_model_t, true > 
sp_calc_model_t
typedef smart_ptr
< jacobian_matrix_t, true > 
sp_jmatrix_t
typedef smart_ptr< well_t, true > sp_well_t
typedef smart_ptr
< well_rate_control_t, true > 
sp_rate_control_t
typedef smart_ptr
< connection_t, true > 
sp_connection_t
typedef smart_ptr
< jacobian_matrix_t, true > 
sp_jacobian_matrix_t
typedef smart_ptr< this_t, true > sp_this_t
typedef wells::type_helper
< strategy_t > 
helper_t
typedef helper_t::item_rhs_block_t item_rhs_block_t
typedef helper_t::item_ww_block_t item_ww_block_t
typedef helper_t::item_q_rate_t item_q_rate_t
typedef
helper_t::item_q_rate_inflow_t 
item_q_rate_inflow_t
typedef helper_t::item_gas_rate_t item_gas_rate_t

Public Member Functions

virtual ~well_controller ()
 dtor
void clear_rate ()
 Clears rate.
void set_rate (rate_value_type rate_value, item_t value)
 Sets rate value.
void set_bhp (item_t value)
 Sets BHP value.
void set_bhp_history (item_t value)
 Sets historical value of BHP.
void add_bhp_control (const sp_rate_control_t &bhp_control)
 Adds BHP control (controls well by BHP).
void add_rate_control (const sp_rate_control_t &rate_control)
 Adds rate control (controls well by rate).
void set_main_control (const sp_well_t &well, rate_control_type control)
 Sets main control (bhp or rate depends on control value).
void set_injection_type (injection_type type)
 Sets injection type.
const rate_data_trate () const
 Returns rate data.
const item_tbhp () const
 Returns BHP value.
const item_tbhp_history () const
 Returns historical BHP value.
const injection_typeinjection () const
 Returns injection type.
bool is_bhp () const
 Checks is control is bhp.
bool is_rate () const
 Checks is control is rate.
bool is_production () const
 Checks is well working in production mode.
bool is_valid_connection_bhp (item_t pressure, item_t bhp) const
 Checks is given BHP value is valid.
void save_control ()
 Saves well_controller internal state.
bool restore_control ()
 Restores well_controller internal state.
void save_niter_control ()
 Saves well_controller internal state.
bool restore_niter_control ()
 Restores well_controller internal state.
void switch_to_bhp (sp_well_t &well)
 Switches well to control by BHP.
bool check (sp_well_t &well)
 Checks is well works properly.
void calc_rate (const sp_calc_model_t &calc_model, sp_well_t &well, sp_jmatrix_t &jmatrix) const
 Calculates rate.
void calc_derivs (const sp_calc_model_t &calc_model, sp_well_t &well, sp_jmatrix_t &jmatrix) const
 Calculates derivs.
rate_control_type get_control_type () const
 Returns type of control.
 BLUE_SKY_TYPE_DECL_T (well_controller)
 blue-sky type declaration

Public Attributes

rate_data_t rate_
 Rates.

Private Attributes

item_t bhp_
 pw,ref; rate_value_type::pref_value
item_t bhp_history_
injection_type injection_type_
 Injection type (now only WATER injection supports).
sp_rate_control_t bhp_control_
sp_rate_control_t rate_control_
sp_rate_control_t current_control_
sp_rate_control_t saved_control_
sp_rate_control_t saved_niter_control_

Static Private Attributes

static sp_rate_control_t dummy_control_


Detailed Description

template<typename strategy_t>
class blue_sky::wells::well_controller< strategy_t >

Well controller.

Member Typedef Documentation

template<typename strategy_t >
typedef calc_model<strategy_t> blue_sky::wells::well_controller< strategy_t >::calc_model_t

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

template<typename strategy_t >
typedef wells::type_helper<strategy_t> blue_sky::wells::well_controller< strategy_t >::helper_t

template<typename strategy_t >
typedef strategy_t::index_array_t blue_sky::wells::well_controller< strategy_t >::index_array_t

template<typename strategy_t >
typedef strategy_t::index_t blue_sky::wells::well_controller< strategy_t >::index_t

template<typename strategy_t >
typedef strategy_t::item_array_t blue_sky::wells::well_controller< strategy_t >::item_array_t

template<typename strategy_t >
typedef helper_t::item_gas_rate_t blue_sky::wells::well_controller< strategy_t >::item_gas_rate_t

template<typename strategy_t >
typedef helper_t::item_q_rate_inflow_t blue_sky::wells::well_controller< strategy_t >::item_q_rate_inflow_t

template<typename strategy_t >
typedef helper_t::item_q_rate_t blue_sky::wells::well_controller< strategy_t >::item_q_rate_t

template<typename strategy_t >
typedef helper_t::item_rhs_block_t blue_sky::wells::well_controller< strategy_t >::item_rhs_block_t

template<typename strategy_t >
typedef strategy_t::item_t blue_sky::wells::well_controller< strategy_t >::item_t

template<typename strategy_t >
typedef helper_t::item_ww_block_t blue_sky::wells::well_controller< strategy_t >::item_ww_block_t

template<typename strategy_t >
typedef jacobian_matrix<strategy_t> blue_sky::wells::well_controller< strategy_t >::jacobian_matrix_t

template<typename strategy_t >
typedef rate_data<strategy_t> blue_sky::wells::well_controller< strategy_t >::rate_data_t

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

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

template<typename strategy_t >
typedef smart_ptr<jacobian_matrix_t, true> blue_sky::wells::well_controller< strategy_t >::sp_jacobian_matrix_t

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

template<typename strategy_t >
typedef smart_ptr<well_rate_control_t, true> blue_sky::wells::well_controller< strategy_t >::sp_rate_control_t

template<typename strategy_t >
typedef smart_ptr<this_t, true> blue_sky::wells::well_controller< strategy_t >::sp_this_t

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

template<typename strategy_t >
typedef well_controller<strategy_t> blue_sky::wells::well_controller< strategy_t >::this_t

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

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


Constructor & Destructor Documentation

template<typename strategy_t >
virtual blue_sky::wells::well_controller< strategy_t >::~well_controller (  )  [inline, virtual]

dtor


Member Function Documentation

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::add_bhp_control ( const sp_rate_control_t bhp_control  ) 

Adds BHP control (controls well by BHP).

Parameters:
bhp_control 

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::add_rate_control ( const sp_rate_control_t rate_control  ) 

Adds rate control (controls well by rate).

Parameters:
rate_control 

template<typename strategy_t >
const item_t& blue_sky::wells::well_controller< strategy_t >::bhp (  )  const

Returns BHP value.

Returns:
BHP value

template<typename strategy_t >
const item_t& blue_sky::wells::well_controller< strategy_t >::bhp_history (  )  const

Returns historical BHP value.

Returns:
Historical BHP

template<typename strategy_t >
blue_sky::wells::well_controller< strategy_t >::BLUE_SKY_TYPE_DECL_T ( well_controller< strategy_t >   ) 

blue-sky type declaration

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::calc_derivs ( const sp_calc_model_t calc_model,
sp_well_t well,
sp_jmatrix_t jmatrix 
) const

Calculates derivs.

Todo:
Obsolete, should be removed

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::calc_rate ( const sp_calc_model_t calc_model,
sp_well_t well,
sp_jmatrix_t jmatrix 
) const

Calculates rate.

Todo:
Obsolete, should be removed

template<typename strategy_t >
bool blue_sky::wells::well_controller< strategy_t >::check ( sp_well_t well  ) 

Checks is well works properly.

Parameters:
well Well to be checked
Returns:
True if control of well was changed due checks

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::clear_rate (  ) 

Clears rate.

template<typename strategy_t >
rate_control_type blue_sky::wells::well_controller< strategy_t >::get_control_type (  )  const

Returns type of control.

Returns:
Type of control

template<typename strategy_t >
const injection_type& blue_sky::wells::well_controller< strategy_t >::injection (  )  const

Returns injection type.

Returns:
Injection type

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

Checks is control is bhp.

Returns:
True if control is bhp_control

template<typename strategy_t >
bool blue_sky::wells::well_controller< strategy_t >::is_production (  )  const

Checks is well working in production mode.

Returns:
True if well is production

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

Checks is control is rate.

Returns:
True if control is rate_control

template<typename strategy_t >
bool blue_sky::wells::well_controller< strategy_t >::is_valid_connection_bhp ( item_t  pressure,
item_t  bhp 
) const

Checks is given BHP value is valid.

Parameters:
pressure Value to be compared with BHP value
bhp Value to be checked
Returns:
True if value if valid

template<typename strategy_t >
const rate_data_t& blue_sky::wells::well_controller< strategy_t >::rate (  )  const

Returns rate data.

Returns:
Rate data

template<typename strategy_t >
bool blue_sky::wells::well_controller< strategy_t >::restore_control (  ) 

Restores well_controller internal state.

Returns:
True is restored successfully

template<typename strategy_t >
bool blue_sky::wells::well_controller< strategy_t >::restore_niter_control (  ) 

Restores well_controller internal state.

Returns:
True is restored successfully

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::save_control (  ) 

Saves well_controller internal state.

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::save_niter_control (  ) 

Saves well_controller internal state.

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::set_bhp ( item_t  value  ) 

Sets BHP value.

Parameters:
value BHP value

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::set_bhp_history ( item_t  value  ) 

Sets historical value of BHP.

Parameters:
value Value to set

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::set_injection_type ( injection_type  type  ) 

Sets injection type.

Parameters:
type 

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::set_main_control ( const sp_well_t well,
rate_control_type  control 
)

Sets main control (bhp or rate depends on control value).

Parameters:
well 
control 

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::set_rate ( rate_value_type  rate_value,
item_t  value 
)

Sets rate value.

Parameters:
rate_value Type of rate to set
value Value to set

template<typename strategy_t >
void blue_sky::wells::well_controller< strategy_t >::switch_to_bhp ( sp_well_t well  ) 

Switches well to control by BHP.

Parameters:
well Well to be swithced


Member Data Documentation

template<typename strategy_t >
item_t blue_sky::wells::well_controller< strategy_t >::bhp_ [private]

pw,ref; rate_value_type::pref_value

template<typename strategy_t >
sp_rate_control_t blue_sky::wells::well_controller< strategy_t >::bhp_control_ [private]

template<typename strategy_t >
item_t blue_sky::wells::well_controller< strategy_t >::bhp_history_ [private]

template<typename strategy_t >
sp_rate_control_t blue_sky::wells::well_controller< strategy_t >::current_control_ [private]

template<typename strategy_t >
sp_rate_control_t blue_sky::wells::well_controller< strategy_t >::dummy_control_ [static, private]

template<typename strategy_t >
injection_type blue_sky::wells::well_controller< strategy_t >::injection_type_ [private]

Injection type (now only WATER injection supports).

template<typename strategy_t >
rate_data_t blue_sky::wells::well_controller< strategy_t >::rate_

Rates.

template<typename strategy_t >
sp_rate_control_t blue_sky::wells::well_controller< strategy_t >::rate_control_ [private]

template<typename strategy_t >
sp_rate_control_t blue_sky::wells::well_controller< strategy_t >::saved_control_ [private]

template<typename strategy_t >
sp_rate_control_t blue_sky::wells::well_controller< strategy_t >::saved_niter_control_ [private]


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

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