00001 00010 #ifndef BS_CALC_MODEL_TYPE_HELPER_H_ 00011 #define BS_CALC_MODEL_TYPE_HELPER_H_ 00012 00013 namespace blue_sky 00014 { 00015 00016 template <typename strategy_type> 00017 struct calc_model_type_helper 00018 { 00019 typedef strategy_type strategy_t; 00020 typedef typename strategy_t::item_t item_t; 00021 typedef typename strategy_t::index_t index_t; 00022 00023 typedef boost::array <item_t, FI_PHASE_TOT> well_mobility_t; 00024 typedef boost::array <item_t, FI_PHASE_TOT> p_deriv_well_mobility_t; 00025 typedef boost::array <item_t, FI_PHASE_TOT * FI_PHASE_TOT> sat_deriv_well_mobility_t; 00026 typedef boost::array <item_t, FI_PHASE_TOT> xref_deriv_well_mobility_t; 00027 typedef boost::array <item_t, FI_PHASE_TOT * (FI_PHASE_TOT - 1)> flow_deriv_well_mobility_t; 00028 typedef boost::array <item_t, FI_PHASE_TOT> phase_fvf_t; 00029 }; 00030 00031 00032 } // namespace blue_sky 00033 00034 00035 #endif // #ifndef BS_CALC_MODEL_TYPE_HELPER_H_ 00036