blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o > Class Template Reference

Main calculation loop implementation. More...

#include <main_loop_calc.h>

Inheritance diagram for blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >:

Inheritance graph
[legend]
Collaboration diagram for blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef main_loop_calc_base
< strategy_t > 
base_t
typedef main_loop_calc
< strategy_t, is_w, is_g, is_o > 
this_t
typedef strategy_t::item_t item_t
typedef strategy_t::index_t index_t
typedef strategy_t::item_array_t item_array_t
typedef calc_model< strategy_t > calc_model_t
typedef event_manager< strategy_t > event_manager_t
typedef rock_grid< strategy_t > rock_grid_t
typedef reservoir< strategy_t > reservoir_t
typedef rs_mesh_iface< strategy_t > mesh_iface_t
typedef jacobian< strategy_t > jacobian_t
typedef reservoir_simulator
< strategy_t > 
reservoir_simulator_t
typedef idata idata_t
typedef calc_model_t::scal_3p_t scal_3p_t
typedef jacobian_matrix
< strategy_t > 
jmatrix_t
typedef
event_manager_t::sp_event_base_list 
sp_event_base_list_t
typedef trans_multipliers_calc
< strategy_t > 
trans_multipliers_calc_t
typedef smart_ptr
< calc_model_t, true > 
sp_calc_model_t
typedef smart_ptr
< event_manager_t, true > 
sp_event_manager_t
typedef smart_ptr< rock_grid_t,
true > 
sp_rock_grid_t
typedef smart_ptr< reservoir_t,
true > 
sp_reservoir_t
typedef smart_ptr
< mesh_iface_t, true > 
sp_mesh_iface_t
typedef smart_ptr< jacobian_t,
true > 
sp_jacobian_t
typedef smart_ptr< fi_params,
true > 
sp_fi_params_t
typedef smart_ptr
< data_storage_interface, true > 
sp_storage_t
typedef smart_ptr
< reservoir_simulator_t, true > 
sp_rs_t
typedef smart_ptr< idata_t, true > sp_idata_t
typedef calc_model_t::sp_scal3p sp_scal3p_t
typedef smart_ptr< jmatrix_t,
true > 
sp_jmatrix_t
typedef boost::posix_time::ptime ptime

Public Member Functions

 main_loop_calc (const sp_rs_t &rs)
 ctor
void fi_operator_cells (index_t i)
 Inits fi_operator.
void apply_events (const sp_event_base_list_t &event_list)
 Applies model events.
void compute_jacobian ()
 Calls compute_jacobian from reservoir.
item_t get_dt () const
 Returns new time-step value.
void init_custom_wells (const sp_calc_model_t &calc_model)
 Custom initialization of wells.
void process_small_steps ()
 Small-step loop.
BS_FORCE_INLINE void newton_iter_fail (size_t ret_code)
 Called if newton iteration failed.
BS_FORCE_INLINE void newton_iter_success ()
 Called if newton iteration successed.
void save_newton_iter_info ()
 Saves info about newton iteration.
void print_saturation ()
 Saves saturation values to file.
void print_pressure ()
 Saves pressure values to file.
void print_volume ()
 Saves volume values to file.
bool process_well_model ()
bool process_well_model_1var ()
bool process_well_model_3var ()
void fi_borates_total ()
index_t fi_borates_check_well_consistensy ()
void set_approx_solution ()
item_t get_newton_iters_num () const
 Returns number of maximum newton iterations (fi_params::NEWTON_ITERS_NUM).
item_t get_clamp_pressure () const
 Returns maximum (?) pressure value.
item_t get_max_tolerance () const
 Returns maximum linear solver tolerance (fi_params::MAX_ALLOWED_LIN_SOLV_RESID).
item_t get_small_ts () const
 Returns minimum value of time-step (fi_params::MIN_TS).
item_t get_first_ts () const
 Return value of first time-step (fi_params::FIRST_TS).
index_t get_n_max_iters () const
 Returns number of maximum newton iterations (fi_params::APPROX_STEPS or fi_params::NEWTON_ITERS_NUM).
index_t get_istart () const
index_t compute_small_time_step (fi_operator_impl< strategy_t, is_w, is_g, is_o > &fi_operator, jacobian_impl< strategy_t > &jacobian_impl_, index_t &nniters, index_t &nliters)
 Calculates one small step.
void print_memory_at_the_end ()
void print_memory_before_jacobian_solve ()
void print_memory_before_jacobian_setup ()
void print_memory_before_fi_operator ()
void generate_numeric_jacobian (int init)
 Fills jacobian with derivs that numerically calculated.
void compute_acc_rates ()
 Calculates total rates for well and rate and total rate for reservoir.
void check_time_step ()
 Checks time-step.
void compute_solution_range ()
void setup_jacobian_solver_params ()
 Setups Jacobian solvers params.
void setup_jacobian ()
 Setups Jacobian.
item_t solve_jacobian (index_t &n)
 Solves Jacobian.
void get_min_max_z ()
void save_data ()
 Saves facilities data to facility storage.
bool check_limits ()
 Checks limits.
item_t decrease_ts (double old_ts, double max_ts) const
 Decreases time-step if newton iteration failed.
item_t increase_ts (item_t old_ts, item_t max_ts, index_t n_iters) const
 Increases time-step if previous newton iteration successed.
void save_base_vars ()
 Saves base vars.
void restore_base_vars ()
 Restores base vars.
void update_number_of_newtonian_iterations (index_t nniters)
 Updates total number of newton iterations.
void update_number_of_linear_iterations (index_t nliters)
 Updates total number of linear iterations.
void update_current_time (item_t step_)
 Updates current time-step.
void update_number_of_fi_operator_restarts ()
 Updates total number of fi_operator restarts.
void update_number_of_restarts ()
 Updates total number of restarts.
void update_number_of_max_iters_restarts ()
void update_number_of_close_wells_restarts ()
BS_FORCE_INLINE bool update_large_time_step_length (const ptime &current_time, const ptime &next_time)
 Updates length of large time-step (from model).
void update_large_time_step_num ()
 Updates number of processed large time-steps.
void print_mesh_info ()
 Prints mesh info.
void print_pvt_info ()
 Prints PVT tables.
void iteration (const ptime &current_time, const ptime &next_time, const sp_event_base_list_t &event_list)
 Large time-step iteration.
void time_step_end (int total_number_of_time_steps)
 Performs actions on time-step end.
void ready ()
 Prepares calculation.
void go ()
 Starts calculation loop.
void end ()
 Ends calculation.
void reset_init_approx ()
 Resets init_approximation flag.
void reset_wells ()
 Reinits wells.

Public Attributes

sp_rs_t rs_
sp_calc_model_t calc_model_
sp_event_manager_t event_manager_
sp_rock_grid_t rock_grid_prop_
sp_storage_t facility_storage_
sp_reservoir_t reservoir_
sp_mesh_iface_t mesh_
sp_jacobian_t jacobian_
sp_fi_params_t params_
sp_idata_t data_map_
trans_multipliers_calc_t trans_multipliers_
item_t height_
item_t rho_
item_t min_z_
item_t max_z_
double dt_
double current_time_
item_t large_time_step_length_
item_t large_time_step_start_
item_t large_time_step_end_
index_t num_last_newton_iters_
index_t num_last_lin_iters_
index_t number_of_small_time_steps
index_t number_of_large_time_steps
index_t number_of_newtonian_iterations
index_t number_of_linear_iterations
index_t number_of_restarts
index_t number_of_max_iters_restarts
index_t number_of_fi_operator_restarts
index_t number_of_close_wells_restarts
bool do_calc_prev_fluid_volume_
save_connection_data< strategy_t > connection_data
save_well_data< strategy_t > well_data


Detailed Description

template<typename strategy_t, bool is_w, bool is_g, bool is_o>
class blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >

Main calculation loop implementation.

Member Typedef Documentation

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef main_loop_calc_base<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::base_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef calc_model<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::calc_model_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef event_manager<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::event_manager_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef idata blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::idata_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef strategy_t::index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::index_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef strategy_t::item_array_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::item_array_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef strategy_t::item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::item_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef jacobian<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::jacobian_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef jacobian_matrix<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::jmatrix_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef rs_mesh_iface<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::mesh_iface_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef boost::posix_time::ptime blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::ptime

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef reservoir_simulator<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::reservoir_simulator_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef reservoir<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::reservoir_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef rock_grid<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::rock_grid_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef calc_model_t::scal_3p_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::scal_3p_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<calc_model_t, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_calc_model_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef event_manager_t::sp_event_base_list blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_event_base_list_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<event_manager_t, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_event_manager_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<fi_params, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_fi_params_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<idata_t, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_idata_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<jacobian_t, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_jacobian_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<jmatrix_t, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_jmatrix_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<mesh_iface_t, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_mesh_iface_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<reservoir_t, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_reservoir_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<rock_grid_t, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_rock_grid_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<reservoir_simulator_t, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_rs_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef calc_model_t::sp_scal3p blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_scal3p_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef smart_ptr<data_storage_interface, true> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::sp_storage_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef main_loop_calc<strategy_t, is_w, is_g, is_o> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::this_t

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
typedef trans_multipliers_calc<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::trans_multipliers_calc_t


Constructor & Destructor Documentation

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::main_loop_calc ( const sp_rs_t rs  )  [inline]

ctor

Parameters:
rs Instance of reservoir_simulator to which calculation will be performed

References blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::calc_model_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::current_time_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::do_calc_prev_fluid_volume_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::dt_, blue_sky::FI_PHASE_GAS, blue_sky::FI_PHASE_WATER, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::height_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::large_time_step_end_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::large_time_step_length_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::large_time_step_start_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::max_z_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::min_z_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::num_last_lin_iters_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::num_last_newton_iters_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_close_wells_restarts, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_fi_operator_restarts, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_large_time_steps, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_linear_iterations, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_max_iters_restarts, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_newtonian_iterations, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_restarts, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_small_time_steps, and blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::rho_.


Member Function Documentation

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::apply_events ( const sp_event_base_list_t event_list  )  [inline, virtual]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
bool blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::check_limits (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::check_time_step (  )  [inline]

Checks time-step.

Returns:
Throws exception is time-step smaller than threshold

References blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::dt_, and blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_small_ts().

Referenced by blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::compute_small_time_step().

Here is the call graph for this function:

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::compute_acc_rates (  )  [inline]

Calculates total rates for well and rate and total rate for reservoir.

References blue_sky::apply_wefac(), and blue_sky::well.

Referenced by blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::fi_borates_total().

Here is the call graph for this function:

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::compute_jacobian (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::compute_small_time_step ( fi_operator_impl< strategy_t, is_w, is_g, is_o > &  fi_operator,
jacobian_impl< strategy_t > &  jacobian_impl_,
index_t nniters,
index_t nliters 
) [inline]

Calculates one small step.

Parameters:
fi_operator Instance of fi_operator_impl
jacobian_impl_ 
nniters 
nliters 
Returns:
Number of newton iteration was performed

References blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::calc_model_, blue_sky::fi_operator_impl< strategy_type, is_w, is_g, is_o >::calc_prev_fluid_volume(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::check_time_step(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::do_calc_prev_fluid_volume_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::dt_, blue_sky::fi_operator_impl< strategy_type, is_w, is_g, is_o >::fi_operator(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::generate_numeric_jacobian(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_istart(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_max_tolerance(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_n_max_iters(), blue_sky::fi_operator_impl< strategy_type, is_w, is_g, is_o >::jmatrix_, blue_sky::fi_operator_impl< strategy_type, is_w, is_g, is_o >::mesh_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_small_time_steps, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::reservoir_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::rs_, blue_sky::fi_operator_impl< strategy_type, is_w, is_g, is_o >::save_prev_niter_vars(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::set_approx_solution(), blue_sky::jacobian_impl< strategy_t >::setup_jacobian(), blue_sky::SMALL_TIME_STEP_CHOP, blue_sky::SMALL_TIME_STEP_FAIL, blue_sky::fi_operator_impl< strategy_type, is_w, is_g, is_o >::sol_, and blue_sky::jacobian_impl< strategy_t >::solve_jacobian().

Referenced by blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::process_small_steps().

Here is the call graph for this function:

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::compute_solution_range (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::decrease_ts ( double  old_ts,
double  max_ts 
) const [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::end (  )  [inline, virtual]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::fi_borates_check_well_consistensy (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::fi_borates_total (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::fi_operator_cells ( index_t  i  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::generate_numeric_jacobian ( int  init  )  [inline]

Fills jacobian with derivs that numerically calculated.

Parameters:
init 
Todo:
Obsolete

Referenced by blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::compute_small_time_step().

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_clamp_pressure (  )  const [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_dt (  )  const [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_first_ts (  )  const [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_istart (  )  const [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_max_tolerance (  )  const [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_min_max_z (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_n_max_iters (  )  const [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_newton_iters_num (  )  const [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_small_ts (  )  const [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::go (  )  [inline, virtual]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::increase_ts ( item_t  old_ts,
item_t  max_ts,
index_t  n_iters 
) const [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::init_custom_wells ( const sp_calc_model_t calc_model  )  [inline]

Custom initialization of wells.

Parameters:
calc_model 

References blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::reservoir_.

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::iteration ( const ptime current_time,
const ptime next_time,
const sp_event_base_list_t event_list 
) [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
BS_FORCE_INLINE void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::newton_iter_fail ( size_t  ret_code  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
BS_FORCE_INLINE void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::newton_iter_success (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::print_memory_at_the_end (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::print_memory_before_fi_operator (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::print_memory_before_jacobian_setup (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::print_memory_before_jacobian_solve (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::print_mesh_info (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::print_pressure (  )  [inline]

Saves pressure values to file.

Todo:
Obsolete, should be removed

References blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::calc_model_.

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::print_pvt_info (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::print_saturation (  )  [inline]

Saves saturation values to file.

Todo:
Obsolete, should be removed

References blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::calc_model_.

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::print_volume (  )  [inline]

Saves volume values to file.

Todo:
Obsolete, should be removed

References blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::calc_model_.

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::process_small_steps (  )  [inline]

Small-step loop.

References blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::calc_model_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::compute_small_time_step(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::compute_solution_range(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::current_time_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::do_calc_prev_fluid_volume_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::dt_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_clamp_pressure(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_dt(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::get_newton_iters_num(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::jacobian_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::large_time_step_end_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::mesh_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::newton_iter_fail(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::newton_iter_success(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::num_last_lin_iters_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::num_last_newton_iters_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_small_time_steps, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::process_well_model(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::reservoir_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::rs_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::save_base_vars(), and blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::setup_jacobian_solver_params().

Referenced by blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::iteration().

Here is the call graph for this function:

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
bool blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::process_well_model (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
bool blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::process_well_model_1var (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
bool blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::process_well_model_3var (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::ready (  )  [inline, virtual]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::reset_init_approx (  )  [inline]

Resets init_approximation flag.

References blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::reservoir_.

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::reset_wells (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::restore_base_vars (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::save_base_vars (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::save_data (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::save_newton_iter_info (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::set_approx_solution (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::setup_jacobian (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::setup_jacobian_solver_params (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::solve_jacobian ( index_t n  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::time_step_end ( int  total_number_of_time_steps  )  [inline]

Performs actions on time-step end.

Parameters:
total_number_of_time_steps 

References blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::calc_model_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::check_limits(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::current_time_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::dt_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::jacobian_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::mesh_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_close_wells_restarts, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_fi_operator_restarts, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_large_time_steps, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_linear_iterations, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_max_iters_restarts, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_newtonian_iterations, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_restarts, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_small_time_steps, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::reservoir_, blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::save_data(), blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::update_large_time_step_num(), and blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::well_data.

Referenced by blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::iteration().

Here is the call graph for this function:

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::update_current_time ( item_t  step_  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
BS_FORCE_INLINE bool blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::update_large_time_step_length ( const ptime current_time,
const ptime next_time 
) [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::update_large_time_step_num (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::update_number_of_close_wells_restarts (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::update_number_of_fi_operator_restarts (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::update_number_of_linear_iterations ( index_t  nliters  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::update_number_of_max_iters_restarts (  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::update_number_of_newtonian_iterations ( index_t  nniters  )  [inline]

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
void blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::update_number_of_restarts (  )  [inline]


Member Data Documentation

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
sp_calc_model_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::calc_model_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
save_connection_data<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::connection_data

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
double blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::current_time_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
sp_idata_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::data_map_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
bool blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::do_calc_prev_fluid_volume_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
double blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::dt_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
sp_event_manager_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::event_manager_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
sp_storage_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::facility_storage_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::height_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
sp_jacobian_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::jacobian_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::large_time_step_end_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::large_time_step_length_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::large_time_step_start_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::max_z_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
sp_mesh_iface_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::mesh_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::min_z_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::num_last_lin_iters_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::num_last_newton_iters_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_close_wells_restarts

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_fi_operator_restarts

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_large_time_steps

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_linear_iterations

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_max_iters_restarts

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_newtonian_iterations

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_restarts

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
index_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::number_of_small_time_steps

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
sp_fi_params_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::params_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
sp_reservoir_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::reservoir_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
item_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::rho_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
sp_rock_grid_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::rock_grid_prop_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
sp_rs_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::rs_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
trans_multipliers_calc_t blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::trans_multipliers_

template<typename strategy_t , bool is_w, bool is_g, bool is_o>
save_well_data<strategy_t> blue_sky::main_loop_calc< strategy_t, is_w, is_g, is_o >::well_data


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

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