From 95f1139f29201d8de842f35b0292836cbfd4dfc7 Mon Sep 17 00:00:00 2001
From: Simon Scholz <simon.scholz@iws.uni-stuttgart.de>
Date: Mon, 27 Nov 2017 18:08:58 +0100
Subject: [PATCH] [2pncmin][next] box-test compiles now, does not pass, cc not
 yet compiling

---
 .../2pncmin/implicit/volumevariables.hh                |  1 +
 .../2pncmin/implicit/vtkoutputfields.hh                |  9 +++------
 .../2pncmin/implicit/test_cc2pncmin.cc                 | 10 ++++++----
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/dumux/porousmediumflow/2pncmin/implicit/volumevariables.hh b/dumux/porousmediumflow/2pncmin/implicit/volumevariables.hh
index c5b89f2cd4..63966c1016 100644
--- a/dumux/porousmediumflow/2pncmin/implicit/volumevariables.hh
+++ b/dumux/porousmediumflow/2pncmin/implicit/volumevariables.hh
@@ -191,6 +191,7 @@ protected:
 
     Scalar precipitateVolumeFraction_[numSPhases];
     Scalar sumPrecipitates_;
+    FluidState fluidState_;
 
 private:
     Implementation &asImp_()
diff --git a/dumux/porousmediumflow/2pncmin/implicit/vtkoutputfields.hh b/dumux/porousmediumflow/2pncmin/implicit/vtkoutputfields.hh
index 09a25a984f..b4b61ba576 100644
--- a/dumux/porousmediumflow/2pncmin/implicit/vtkoutputfields.hh
+++ b/dumux/porousmediumflow/2pncmin/implicit/vtkoutputfields.hh
@@ -52,14 +52,11 @@ public:
         // use default fields from the 2pnc model
         TwoPNCVtkOutputFields<TypeTag>::init(vtk);
 
-        //output additional to TwoPNC output:
+        //output additional to TwoPNCMin output:
         for (int i = 0; i < numSPhases; ++i)
+        {
             vtk.addVolumeVariable([i](const VolumeVariables& v){ return v.precipitateVolumeFraction(numPhases + i); },"precipVolFrac_"+ FluidSystem::phaseName(numPhases + i));
-        vtk.addVolumeVariable([](const VolumeVariables& v){ return this->perm_(v.permeability())[0][0]; }, "Kxx"); //TODO: get correct permeability from where? add perm_ function in private?
-        if (dim >= 2)
-            vtk.addVolumeVariable([](const VolumeVariables& v){ return this->perm_(v.permeability())[1][1]; }, "Kyy"); //TODO: get correct permeability from where? add perm_ function in private?
-        if (dim >= 3)
-            vtk.addVolumeVariable([](const VolumeVariables& v){ return this->perm_(v.permeability())[2][2]; }, "Kzz"); //TODO: get correct permeability from where? add perm_ function in private?
+        }
     }
 };
 
diff --git a/test/porousmediumflow/2pncmin/implicit/test_cc2pncmin.cc b/test/porousmediumflow/2pncmin/implicit/test_cc2pncmin.cc
index 0a7f57a387..3c8826e015 100644
--- a/test/porousmediumflow/2pncmin/implicit/test_cc2pncmin.cc
+++ b/test/porousmediumflow/2pncmin/implicit/test_cc2pncmin.cc
@@ -113,8 +113,9 @@ int main(int argc, char** argv) try
     auto problem = std::make_shared<Problem>(fvGridGeometry);
 
     // the solution vector
+    using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
     using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector);
-    SolutionVector x(leafGridView.size(0));
+    SolutionVector x(leafGridView.size(GridView::dimension));
     problem->applyInitialSolution(x);
     auto xOld = x;
 
@@ -140,9 +141,6 @@ int main(int argc, char** argv) try
     VtkOutputModule<TypeTag> vtkWriter(*problem, *fvGridGeometry, *gridVariables, x, problem->name());
     VtkOutputFields::init(vtkWriter); //! Add model specific output fields
     //add specific output
-    vtkWriter.addField(problem->getCurrentDensity(), "currentDensity [A/cm^2]");
-    vtkWriter.addField(problem->getReactionSourceH2O(), "reactionSourceH2O [mol/(sm^2)]");
-    vtkWriter.addField(problem->getReactionSourceO2(), "reactionSourceO2 [mol/(sm^2)]");
     vtkWriter.addField(problem->getKxx(), "Kxx");
     vtkWriter.addField(problem->getKyy(), "Kyy");
     vtkWriter.write(0.0);
@@ -168,6 +166,10 @@ int main(int argc, char** argv) try
     // time loop
     timeLoop->start(); do
     {
+        // set time for problem for implicit Euler scheme
+        problem->setTime( timeLoop->time() + timeLoop->timeStepSize() );
+        problem->setTimeStepSize( timeLoop->timeStepSize() );
+
         // set previous solution for storage evaluations
         assembler->setPreviousSolution(xOld);
 
-- 
GitLab