changed: use a c++11 initializer list instead of repeated inserts

This commit is contained in:
Arne Morten Kvarving
2015-07-01 09:25:09 +02:00
parent 30c7ebb607
commit 69e4b5833b
+29 -30
View File
@@ -262,36 +262,35 @@ int main(int varnum, char** vararg)
/*
Populate options-map with default values
*/
map<string,string> options;
options.insert(make_pair("bc", "f" )); // Fixed boundary conditions
options.insert(make_pair("points", "20" )); // Number of saturation points (uniformly distributed within saturation endpoints) [benchmark]
options.insert(make_pair("relPermCurve", "2")); // Which column in the rock types are upscaled
options.insert(make_pair("upscaleBothPhases", "false")); // Wheater to upscale for both phases in the same run. Default true. [benchmark]
options.insert(make_pair("jFunctionCurve", "3")); // Which column in the rock type file is the J-function curve [benchmark]
options.insert(make_pair("surfaceTension", "11")); // Surface tension given in dynes/cm
options.insert(make_pair("output", "")); // If this is set, output goes to screen and to this file.
options.insert(make_pair("gravity", "0.0")); // default is no gravitational effects
options.insert(make_pair("waterDensity", "1.0")); // default density of water, only applicable to gravity
options.insert(make_pair("oilDensity", "0.6")); // ditto
options.insert(make_pair("interpolate", "0")); // default is not to interpolate
options.insert(make_pair("maxpoints", "1000")); // maximal number of saturation points.
options.insert(make_pair("outputprecision", "20")); // number of significant numbers to print [benchmark]
options.insert(make_pair("maxPermContrast", "1e7")); // maximum allowed contrast in each single-phase computation
options.insert(make_pair("minPerm", "1e-12")); // absolute minimum for allowed cell permeability
options.insert(make_pair("maxPerm", "100000")); // maximal allowed cell permeability
options.insert(make_pair("minPoro", "0.0001")); // this limit is necessary for pcmin/max computation
options.insert(make_pair("saturationThreshold","0.00001")); // accuracy threshold for saturation, we ignore Pc values that
// give so small contributions near endpoints.
options.insert(make_pair("linsolver_tolerance", "1e-12")); // residual tolerance for linear solver
options.insert(make_pair("linsolver_verbosity", "0")); // verbosity level for linear solver
options.insert(make_pair("linsolver_type", "3")); // type of linear solver: 0 = ILU0/CG, 1 = AMG/CG, 2 KAMG/CG, 3 FAST_AMG/CG
options.insert(make_pair("fluids", "ow")); // wheater upscaling for oil/water (ow) or gas/oil (go)
options.insert(make_pair("krowxswirr", "-1")); // relative permeability in x direction of oil in corresponding oil/water system
options.insert(make_pair("krowyswirr", "-1")); // relative permeability in y direction of oil in corresponding oil/water system
options.insert(make_pair("krowzswirr", "-1")); // relative permeability in z direction of oil in corresponding oil/water system
options.insert(make_pair("doEclipseCheck", "true")); // Check if minimum relpermvalues in input are zero (specify critical saturations)
options.insert(make_pair("critRelpermThresh", "1e-6")); // Threshold for setting minimum relperm to 0 (thus specify critical saturations)
map<string,string> options =
{{"bc", "f"}, // Fixed boundary conditions
{"points", "20"}, // Number of saturation points (uniformly distributed within saturation endpoints) [benchmark]
{"relPermCurve", "2"}, // Which column in the rock types are upscaled
{"upscaleBothPhases", "false"}, // Whether to upscale for both phases in the same run. Default true. [benchmark]
{"jFunctionCurve", "3"}, // Which column in the rock type file is the J-function curve [benchmark]
{"surfaceTension", "11"}, // Surface tension given in dynes/cm
{"output", ""}, // If this is set, output goes to screen and to this file.
{"gravity", "0.0"}, // default is no gravitational effects
{"waterDensity", "1.0"}, // default density of water, only applicable to gravity
{"oilDensity", "0.6"}, // ditto
{"interpolate", "0"}, // default is not to interpolate
{"maxpoints", "1000"}, // maximal number of saturation points.
{"outputprecision", "20"}, // number of significant numbers to print [benchmark]
{"maxPermContrast", "1e7"}, // maximum allowed contrast in each single-phase computation
{"minPerm", "1e-12"}, // absolute minimum for allowed cell permeability
{"maxPerm", "100000"}, // maximal allowed cell permeability
{"minPoro", "0.0001"}, // this limit is necessary for pcmin/max computation
{"saturationThreshold", "0.00001"}, // accuracy threshold for saturation, we ignore Pc values that
// give so small contributions near endpoints.
{"linsolver_tolerance", "1e-12"}, // residual tolerance for linear solver
{"linsolver_verbosity", "0"}, // verbosity level for linear solver
{"linsolver_type", "3"}, // type of linear solver: 0 = ILU0/CG, 1 = AMG/CG, 2 KAMG/CG, 3 FAST_AMG/CG
{"fluids", "ow"}, // wheater upscaling for oil/water (ow) or gas/oil (go)
{"krowxswirr", "-1"}, // relative permeability in x direction of oil in corresponding oil/water system
{"krowyswirr", "-1"}, // relative permeability in y direction of oil in corresponding oil/water system
{"krowzswirr", "-1"}, // relative permeability in z direction of oil in corresponding oil/water system
{"doEclipseCheck", "true"}, // Check if minimum relpermvalues in input are zero (specify critical saturations)
{"critRelpermThresh", "1e-6"}};// Threshold for setting minimum relperm to 0 (thus specify critical saturations)
// Conversion factor, multiply mD numbers with this to get m² numbers
const double milliDarcyToSqMetre =