blue_sky::facility_base< strategy_t > Class Template Reference

Base class (interface) for facilities (wells e.t.c). More...

#include <facility_base.h>

Inheritance diagram for blue_sky::facility_base< strategy_t >:

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

Collaboration graph
[legend]

List of all members.

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.


Detailed Description

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

Base class (interface) for facilities (wells e.t.c).

Todo:
Should be renamed to facility_iface

Member Typedef Documentation

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

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

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

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

template<typename strategy_t>
typedef jacobian_matrix<strategy_t> blue_sky::facility_base< strategy_t >::jmatrix_t

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

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

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

template<typename strategy_t>
typedef smart_ptr<jmatrix_t, true> blue_sky::facility_base< strategy_t >::sp_jmatrix_t

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


Constructor & Destructor Documentation

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

destructor


Member Function Documentation

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

Parameters:
dt 
block_size 
rows 
cols 
values 
markers 

Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.

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

Parameters:
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 >.

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

Fills Jacobian rows.

Parameters:
rows Array of Jacobian Rows

Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.

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

Parameters:
calc_model 
mesh 

Implemented in blue_sky::well< strategy_t >, and blue_sky::well< strategy_t >.

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

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

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

Parameters:
is_start 
dt 
calc_model 
mesh 
jmatrix 

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

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

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

Parameters:
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 >.


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