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

Default implementation of well. More...

#include <default_well.h>

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

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

Collaboration graph
[legend]

List of all members.

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_tget_ww_value ()
 Returns ww_value.
array_ext< item_tget_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.


Detailed Description

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

Default implementation of well.

Member Typedef Documentation

template<typename strategy_t >
typedef well<strategy_t> blue_sky::wells::default_well< strategy_t >::base_t

template<typename strategy_t >
typedef index_t blue_sky::wells::default_well< strategy_t >::connection_block_t

template<typename strategy_t >
typedef index_t blue_sky::wells::default_well< strategy_t >::connection_index_t

template<typename strategy_t >
typedef seq_vector<sp_default_connection_t> blue_sky::wells::default_well< strategy_t >::connection_list_t

template<typename strategy_t >
typedef std::map<connection_block_t, connection_index_t> blue_sky::wells::default_well< strategy_t >::connection_map_t

Todo:
Obsolete, deprecated

template<typename strategy_t >
typedef base_t::connection_t blue_sky::wells::default_well< strategy_t >::connection_t

Reimplemented from blue_sky::well< strategy_t >.

template<typename strategy_t >
typedef default_connection<strategy_t> blue_sky::wells::default_well< strategy_t >::default_connection_t

template<typename strategy_t >
typedef base_t::index_array_t blue_sky::wells::default_well< strategy_t >::index_array_t

Reimplemented from blue_sky::well< strategy_t >.

template<typename strategy_t >
typedef base_t::index_t blue_sky::wells::default_well< strategy_t >::index_t

Reimplemented from blue_sky::well< strategy_t >.

template<typename 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 >.

template<typename strategy_t >
typedef base_t::item_t blue_sky::wells::default_well< strategy_t >::item_t

Reimplemented from blue_sky::well< strategy_t >.

template<typename 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 >.

template<typename 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 >.

template<typename 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 >.

template<typename 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 >.

template<typename strategy_t >
typedef smart_ptr<default_connection_t> blue_sky::wells::default_well< strategy_t >::sp_default_connection_t

template<typename strategy_t >
typedef base_t::sp_jmatrix_t blue_sky::wells::default_well< strategy_t >::sp_jmatrix_t

Reimplemented from blue_sky::well< strategy_t >.

template<typename 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 >.

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

Reimplemented from blue_sky::well< strategy_t >.


Constructor & Destructor Documentation

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

ctor

Todo:
Obsolete, deprecated
Parameters:
well_name Name of well


Member Function Documentation

template<typename strategy_t >
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.

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 >
blue_sky::wells::default_well< strategy_t >::BLUE_SKY_TYPE_DECL_T ( default_well< strategy_t >   ) 

blue-sky type declaration

template<typename strategy_t >
template<bool is_prod>
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.

Parameters:
calc_model 
mesh 
jmatrix 

template<typename strategy_t >
template<bool is_w, bool is_g, bool is_o, bool is_prod>
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.

Parameters:
calc_model 
mesh 
jmatrix 

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

Clears well and well perforations data.

Reimplemented from blue_sky::well< strategy_t >.

template<typename strategy_t >
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.

Parameters:
array Array of Jacobian values
rw_index 
wr_index 
dt 
block_size 

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

Returns bw_value.

Todo:
Obsolete, should be removed

Reimplemented from blue_sky::well< strategy_t >.

template<typename strategy_t >
sp_connection_t blue_sky::wells::default_well< strategy_t >::get_connection ( index_t  idx  )  const

Returns connection (perforation) with index idx.

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

template<typename strategy_t >
sp_connection_t blue_sky::wells::default_well< strategy_t >::get_connection_map ( index_t  n_block  )  const

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::wells::default_well< strategy_t >::get_connections_count (  )  const [virtual]

Returns count of connection (perforation) for well.

Returns:
Count of connections

Reimplemented from blue_sky::well< strategy_t >.

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

Returns ww_value.

Todo:
Obsolete, should be removed

Reimplemented from blue_sky::well< strategy_t >.

template<typename strategy_t >
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).

Parameters:
is_start 
dt 
calc_model 
mesh 
jmatrix 

template<typename strategy_t >
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).

Parameters:
is_start 
dt 
calc_model 
mesh 
jmatrix 

template<typename strategy_t >
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.

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


Member Data Documentation

template<typename strategy_t >
item_t blue_sky::wells::default_well< strategy_t >::bw_value

BW value.

template<typename strategy_t >
connection_list_t blue_sky::wells::default_well< strategy_t >::connection_list_

List of connections (default_connection).

template<typename strategy_t >
connection_map_t blue_sky::wells::default_well< strategy_t >::connection_map_

Todo:
Obsolete

template<typename strategy_t >
item_t blue_sky::wells::default_well< strategy_t >::ww_value

WW value.


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