From 5eef205551bca6a72b4393ee4afaf37da63362ef Mon Sep 17 00:00:00 2001 From: Andreas Lauser Date: Fri, 28 Aug 2015 12:21:16 +0200 Subject: [PATCH] only initialize the satfuncs once this makes the main files more similar to the primary simulator (i.e., flow.cpp) --- examples/flow_polymer.cpp | 19 +++++++++++++++++-- examples/sim_poly_fi2p_comp_ad.cpp | 19 +++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/examples/flow_polymer.cpp b/examples/flow_polymer.cpp index 42db6bebe..fc5ac8892 100644 --- a/examples/flow_polymer.cpp +++ b/examples/flow_polymer.cpp @@ -51,6 +51,8 @@ #include #include #include +#include +#include #include #include @@ -187,8 +189,21 @@ try pu ); // Rock and fluid init - props.reset(new BlackoilPropertiesFromDeck(deck, eclipseState, *grid->c_grid(), param)); - new_props.reset(new BlackoilPropsAdFromDeck(deck, eclipseState, *grid->c_grid())); + + std::vector compressedToCartesianIdx; + Opm::createGlobalCellArray(*grid->c_grid(), compressedToCartesianIdx); + + typedef BlackoilPropsAdFromDeck::MaterialLawManager MaterialLawManager; + auto materialLawManager = std::make_shared(); + materialLawManager->initFromDeck(deck, eclipseState, compressedToCartesianIdx); + + props.reset(new BlackoilPropertiesFromDeck( deck, eclipseState, materialLawManager, + Opm::UgGridHelpers::numCells(cGrid), + Opm::UgGridHelpers::globalCell(cGrid), + Opm::UgGridHelpers::cartDims(cGrid), + Opm::UgGridHelpers::beginCellCentroids(cGrid), + Opm::UgGridHelpers::dimensions(cGrid), param)); + new_props.reset(new BlackoilPropsAdFromDeck(deck, eclipseState, materialLawManager, cGrid)); const bool polymer = deck->hasKeyword("POLYMER"); const bool use_wpolymer = deck->hasKeyword("WPOLYMER"); PolymerProperties polymer_props(deck, eclipseState); diff --git a/examples/sim_poly_fi2p_comp_ad.cpp b/examples/sim_poly_fi2p_comp_ad.cpp index cbab13154..ba6375d30 100644 --- a/examples/sim_poly_fi2p_comp_ad.cpp +++ b/examples/sim_poly_fi2p_comp_ad.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -57,6 +58,7 @@ #include #include #include +#include #include #include @@ -175,8 +177,21 @@ try pu ); // Rock and fluid init - props.reset(new BlackoilPropertiesFromDeck(deck, eclipseState, *grid->c_grid(), param)); - new_props.reset(new BlackoilPropsAdFromDeck(deck, eclipseState, *grid->c_grid())); + + std::vector compressedToCartesianIdx; + Opm::createGlobalCellArray(*grid->c_grid(), compressedToCartesianIdx); + + typedef BlackoilPropsAdFromDeck::MaterialLawManager MaterialLawManager; + auto materialLawManager = std::make_shared(); + materialLawManager->initFromDeck(deck, eclipseState, compressedToCartesianIdx); + + props.reset(new BlackoilPropertiesFromDeck( deck, eclipseState, materialLawManager, + Opm::UgGridHelpers::numCells(cGrid), + Opm::UgGridHelpers::globalCell(cGrid), + Opm::UgGridHelpers::cartDims(cGrid), + Opm::UgGridHelpers::beginCellCentroids(cGrid), + Opm::UgGridHelpers::dimensions(cGrid), param)); + new_props.reset(new BlackoilPropsAdFromDeck(deck, eclipseState, materialLawManager, cGrid)); PolymerProperties polymer_props(deck, eclipseState); PolymerPropsAd polymer_props_ad(polymer_props);