00001
00009 #ifndef FI_PARAMS_H
00010 #define FI_PARAMS_H
00011
00012 namespace blue_sky
00013 {
00014 class BS_API_PLUGIN fi_params : public named_pbase
00015 {
00016 public:
00018 BLUE_SKY_TYPE_DECL(fi_params);
00019 public:
00021 PROP_BASE_IDX_DECL_BEGIN(fi_params,named_pbase)
00023 FI_PARAMS_START,
00024 PVT_PRESSURE_RANGE_MAX,
00025 PVT_PRESSURE_RANGE_MIN,
00026 PVTO_RS_RANGE_MAX,
00027 PVTO_RS_RANGE_MIN,
00028 MAX_TS,
00029 MIN_TS,
00030 FIRST_TS,
00031 LIN_SOLV_RESIDUAL,
00032 NEWTON_RESIDUAL,
00033 TS_INC_MULT,
00034 TS_DEC_MULT,
00035 OVERDRAFT,
00036 MAX_P_CORRECTION,
00037 MAX_S_CORRECTION,
00038 MAX_RS_CORRECTION,
00039 MAX_P_WELL_CORRECTION,
00040 WAT_ROW_MULT,
00041 GAS_ROW_MULT,
00042 OIL_ROW_MULT,
00043 PRESSURE_COL_MULT,
00044 TS_OMEGA,
00045 TS_DP,
00046 TS_DS,
00047 DP_MIN_CHOP,
00048 DS_MIN_CHOP,
00049 MAX_ALLOWED_LIN_SOLV_RESID,
00050 AMG_RESID,
00051 TS_DRS,
00052 MAX_NORM_ON_TS,
00053 DRSDT,
00054 GAS_NORM_MULT,
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 MASS_BALANS_ERROR,
00070 MAX_NORM_ON_FIRST_N,
00071 P_DIMENSION_LESS_SCALE_FACTOR,
00072 APPL_CHOP_PERC,
00073 APPL_CHOP_BND,
00074 LIN_SOLV_MATBAL_RESIDUAL,
00075 S_RHS_NORM,
00076 D_TOTAL,
00077
00079 PVT_INTERP_POINTS,
00080 NEWTON_ITERS_NUM,
00081 LIN_ITERS_NUM,
00082 NEWTON_ITERS_INC,
00083 NEWTON_ITERS_AMG,
00084 APPROX_STEPS,
00085 SELECT_SOL_STEPS,
00086 LIN_SOLVER_TYPE,
00087 GMRES_ORTONORM_VLEN,
00088 AMG_LIN_ITERS_NUM,
00089 WELL_NEWTON_ITERS_NUM,
00090 PREC_TYPE,
00091 PREC_TYPE_ONE_PHASE,
00092 MIN_CELLS_IN_REGION,
00093 SAVE_STEP_DATA_PERIOD,
00094 I_TOTAL,
00095
00097 PRINT_PVTO_TABLE,
00098 PRINT_PVTW_TABLE,
00099 PRINT_PVTG_TABLE,
00100 STORE_PANE_FLOW_RATES,
00101 NEW_TS_SELECTION_ALGORITHM,
00102 SAVE_STEP_MAPS,
00103 SAVE_INITIAL_DATA,
00104 SAVE_RESTART_DATA,
00105 NEWTRANS,
00106 CHECKS_FOR_MULTI_CONN,
00107 USE_TIMESTEP_FILE,
00108 SIMPLE_GET_CELL_SOLUTION,
00109 USE_LOW_SKIN_TRANS_MULT,
00110 SAVE_MESH_DATA,
00111 SAVE_CALC_DATA,
00112 LOAD_CALC_DATA,
00113 SAVE_NORM_DATA,
00114 DENS_JAC_SCALE,
00115 NEWTON_TUNING,
00116 SAVE_CROSSFLOW,
00117 G_FRACTURE,
00118 CLAMP_PRESSURE,
00119 G_FRACTURE_FINAL,
00120 SAVE_CONN_DATA,
00121 DISABLE_FRACTURE_CHECK,
00122 COMPRESS_IRR,
00123 REMOVE_ISOLATED_REGIONS,
00124 SAVE_WRATES_TO_ASCII_FILE,
00125 CREATE_HDF5_FILE,
00126 WRITE_PRESSURE_TO_HDF5,
00127 WRITE_SATURATION_TO_HDF5,
00128 FIX_SOIL_BUG,
00129 DISABLE_CROSSFLOW,
00130 WRITE_GAS_OIL_RATIO_TO_HDF5,
00131 WRITE_FIP_RESULTS_TO_HDF5,
00132 WRITE_WELL_RESULTS_TO_HDF5,
00133 WRITE_CONN_RESULTS_TO_HDF5,
00134 WRITE_PLANE_FLOW_RATES_TO_HDF5,
00135 USE_CFL,
00136 WRITE_CFL_TO_HDF5,
00137 B_TOTAL,
00138 FI_PARAMS_TOTAL,
00139 PROP_BASE_IDX_DECL_END
00140
00142 virtual ~fi_params ();
00143
00145 PBASE_ACCESS_MS(fi_params)
00146
00147 public:
00148 typedef smart_ptr<FRead, true> sp_reader_t;
00149
00151 const fi_params &operator=(const fi_params&);
00153 const fi_params &operator+=(const fi_params&);
00154
00156 void set_default_values ();
00157
00158
00159 void read_from_keyword_data_file (sp_reader_t r);
00160
00162
00163
00165
00166
00168 virtual const std::string &get_params_name (idx_type idx);
00169 };
00170
00171 #ifdef BSPY_EXPORTING_PLUGIN
00172 void
00173 inline py_export_fi_params ()
00174 {
00175 using namespace boost::python;
00176 class_ <fi_params, bases <named_pbase>, boost::noncopyable> ("fi_params", no_init)
00177 ;
00178
00179 register_ptr_to_python <smart_ptr <fi_params, true> > ();
00180 implicitly_convertible <smart_ptr <fi_params, true>, smart_ptr <named_pbase, true> > ();
00181 }
00182 #endif
00183
00184 }
00185
00186 #endif // FI_PARAMS_H