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