00001
00010 #ifndef BS_BOS_CORE_DEFAULT_CONNECTION_H_
00011 #define BS_BOS_CORE_DEFAULT_CONNECTION_H_
00012
00013 #include "well_connection.h"
00014 #include "array_ext.h"
00015
00016 namespace blue_sky {
00017 namespace wells {
00018
00023 template <typename strategy_t>
00024 class BS_API_PLUGIN default_connection : public connection <strategy_t>
00025 {
00026 public:
00027
00028 typedef connection <strategy_t> base_t;
00029 typedef typename base_t::item_t item_t;
00030 typedef typename base_t::rhs_item_t rhs_item_t;
00031
00032 public:
00033
00035 BLUE_SKY_TYPE_DECL_T (default_connection <strategy_t>);
00036
00040 void
00041 clear_data ();
00042
00048 array_ext <item_t>
00049 get_rw_value ();
00050
00056 array_ext <item_t>
00057 get_wr_value ();
00058
00064 array_ext <item_t>
00065 get_rr_value ();
00066
00072 array_ext <item_t>
00073 get_ps_value ();
00074
00080 array_ext <rhs_item_t>
00081 get_rate_value ();
00082
00083 public:
00084
00085 enum
00086 {
00087 rr_value_count = FI_PHASE_TOT * FI_PHASE_TOT + FI_PHASE_TOT,
00088 };
00089
00090 boost::array <item_t, FI_PHASE_TOT> mobility_value;
00091 boost::array <rhs_item_t, FI_PHASE_TOT> rate_value;
00092 boost::array <item_t, FI_PHASE_TOT> ps_value;
00093 boost::array <item_t, rr_value_count> rr_value;
00094 boost::array <item_t, FI_PHASE_TOT> rw_value;
00095 boost::array <item_t, FI_PHASE_TOT> wr_value;
00096 };
00097
00098
00099 }
00100 }
00101
00102 #endif // #ifndef BS_BOS_CORE_DEFAULT_CONNECTION_H_
00103
00104