diff --git a/exercises/exercise-basic/exercise_basic_2p2c.cc b/exercises/exercise-basic/exercise_basic_2p2c.cc index 68c91ea1cf64954a1185f76fcf2a5a0979ccc2bb..3232900d53c192578da9b4c550919b3db82b5ac7 100644 --- a/exercises/exercise-basic/exercise_basic_2p2c.cc +++ b/exercises/exercise-basic/exercise_basic_2p2c.cc @@ -124,16 +124,11 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module -// using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; -// VtkOutputModule<TypeTag> vtkWriter(*problem, *fvGridGeometry, *gridVariables, x, problem->name()); -// VtkOutputFields::init(vtkWriter); //! Add model specific output fields - - // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); // instantiate time loop diff --git a/exercises/exercise-biomineralization/exercisebiomin.cc b/exercises/exercise-biomineralization/exercisebiomin.cc index a4cbddfd057b5462be42c54695b44f8f6cfa3ac5..0ac7f193b04829a529f0d00725ebf41c391f1df7 100644 --- a/exercises/exercise-biomineralization/exercisebiomin.cc +++ b/exercises/exercise-biomineralization/exercisebiomin.cc @@ -104,7 +104,7 @@ int main(int argc, char** argv) try // the grid variables using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); - gridVariables->init(x, xOld); + gridVariables->init(x); // get some time loop parameters using Scalar = GetPropType<TypeTag, Properties::Scalar>; @@ -113,9 +113,9 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // initialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - VtkOutputFields::init(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields //add specific output vtkWriter.addField(problem->getKxx(), "Kxx"); vtkWriter.addField(problem->getKyy(), "Kyy"); diff --git a/exercises/exercise-coupling-ff-pm/interface/ex_interface_coupling_ff-pm.cc b/exercises/exercise-coupling-ff-pm/interface/ex_interface_coupling_ff-pm.cc index 62673d5a81469edb1b67376c506b54a2dd840507..53c927f67e80d2408004db3e748fbb3e1dc6ad85 100644 --- a/exercises/exercise-coupling-ff-pm/interface/ex_interface_coupling_ff-pm.cc +++ b/exercises/exercise-coupling-ff-pm/interface/ex_interface_coupling_ff-pm.cc @@ -202,7 +202,7 @@ int main(int argc, char** argv) try const auto darcyName = getParam<std::string>("Problem.Name") + "_" + darcyProblem->name(); StaggeredVtkOutputModule<StokesGridVariables, decltype(stokesSol)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesName); - GetPropType<StokesTypeTag, Properties::VtkOutputFields>::initOutputModule(stokesVtkWriter); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); //****** uncomment the add analytical solution of v_x *****// // stokesVtkWriter.addField(stokesProblem->getAnalyticalVelocityX(), "analyticalV_x"); diff --git a/exercises/exercise-coupling-ff-pm/models/ex_models_coupling_ff-pm.cc b/exercises/exercise-coupling-ff-pm/models/ex_models_coupling_ff-pm.cc index 8dc210c527a0f39bc03a19b311e228b4c272a70d..48d89fe4f579aca4aad2350bbb33db7054ffba97 100644 --- a/exercises/exercise-coupling-ff-pm/models/ex_models_coupling_ff-pm.cc +++ b/exercises/exercise-coupling-ff-pm/models/ex_models_coupling_ff-pm.cc @@ -172,7 +172,7 @@ int main(int argc, char** argv) try const auto darcyName = getParam<std::string>("Problem.Name") + "_" + darcyProblem->name(); StaggeredVtkOutputModule<StokesGridVariables, decltype(stokesSol)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesName); - GetPropType<StokesTypeTag, Properties::VtkOutputFields>::initOutputModule(stokesVtkWriter); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); stokesVtkWriter.write(0.0); VtkOutputModule<DarcyGridVariables, GetPropType<DarcyTypeTag, Properties::SolutionVector>> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyName); diff --git a/exercises/exercise-coupling-ff-pm/turbulence/ex_turbulence_coupling_ff-pm.cc b/exercises/exercise-coupling-ff-pm/turbulence/ex_turbulence_coupling_ff-pm.cc index 523a33706876711eb7bce77fd58758ad54b8c239..3d756d624d227265bcd9a63c27871acde570e425 100644 --- a/exercises/exercise-coupling-ff-pm/turbulence/ex_turbulence_coupling_ff-pm.cc +++ b/exercises/exercise-coupling-ff-pm/turbulence/ex_turbulence_coupling_ff-pm.cc @@ -177,7 +177,7 @@ int main(int argc, char** argv) try const auto darcyName = getParam<std::string>("Problem.Name") + "_" + darcyProblem->name(); StaggeredVtkOutputModule<StokesGridVariables, decltype(stokesSol)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesName); - GetPropType<StokesTypeTag, Properties::VtkOutputFields>::initOutputModule(stokesVtkWriter); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); stokesVtkWriter.write(0.0); VtkOutputModule<DarcyGridVariables, GetPropType<DarcyTypeTag, Properties::SolutionVector>> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyName); diff --git a/exercises/exercise-fluidsystem/exercise-fluidsystem.cc b/exercises/exercise-fluidsystem/exercise-fluidsystem.cc index 61f3df14af8b43ee26ecdb9403d32906a7a8ccf8..184814d6ef3cc3f5112ec20d85228405b7d4b7f9 100644 --- a/exercises/exercise-fluidsystem/exercise-fluidsystem.cc +++ b/exercises/exercise-fluidsystem/exercise-fluidsystem.cc @@ -116,11 +116,11 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields // instantiate time loop auto timeLoop = std::make_shared<TimeLoop<Scalar>>(/*start time*/0.0, dt, tEnd); diff --git a/exercises/exercise-fractures/exercise_fractures.cc b/exercises/exercise-fractures/exercise_fractures.cc index 7a61562d8c06a710d93cc4f1d61eeec01ef7d0e5..55ebc0d96369e9647767bda8ea8e6a53f27b7752 100644 --- a/exercises/exercise-fractures/exercise_fractures.cc +++ b/exercises/exercise-fractures/exercise_fractures.cc @@ -187,10 +187,10 @@ int main(int argc, char** argv) try FractureVtkOutputModule fractureVtkWriter(*fractureGridVariables, x[fractureDomainId], fractureProblem->name()); // Add model specific output fields - using MatrixVtkOutputFields = GetPropType<MatrixTypeTag, Properties::VtkOutputFields>; - using FractureVtkOutputFields = GetPropType<FractureTypeTag, Properties::VtkOutputFields>; - MatrixVtkOutputFields::initOutputModule(matrixVtkWriter); - FractureVtkOutputFields::initOutputModule(fractureVtkWriter); + using MatrixIOFields = GetPropType<MatrixTypeTag, Properties::IOFields>; + using FractureIOFields = GetPropType<FractureTypeTag, Properties::IOFields>; + MatrixIOFields::initOutputModule(matrixVtkWriter); + FractureIOFields::initOutputModule(fractureVtkWriter); // add domain markers to output std::vector<int> matrixDomainMarkers(matrixFvGridGeometry->gridView().size(0)); diff --git a/exercises/exercise-grids/exercise_grids.cc b/exercises/exercise-grids/exercise_grids.cc index 4c5a065c85d57c064c42a8780d25cc5b9761f776..5f57026c15a0284cef6834d618cb1e84a513c623 100644 --- a/exercises/exercise-grids/exercise_grids.cc +++ b/exercises/exercise-grids/exercise_grids.cc @@ -125,11 +125,11 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); // instantiate time loop diff --git a/exercises/exercise-mainfile/exercise_1p_c.cc b/exercises/exercise-mainfile/exercise_1p_c.cc index 11f31b102fec8d7627c3c6e1bbc464ac77dc303f..94636e1af9c6c49ac11750dad520a35b405afee8 100644 --- a/exercises/exercise-mainfile/exercise_1p_c.cc +++ b/exercises/exercise-mainfile/exercise_1p_c.cc @@ -99,7 +99,7 @@ int main(int argc, char** argv) try // the grid variables using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); - gridVariables->init(x, xOld); + gridVariables->init(x); // intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); diff --git a/exercises/exercise-properties/exercise_properties.cc b/exercises/exercise-properties/exercise_properties.cc index 558a13af5b329ac0d9b4a49e3ebb55c57215fa27..edcb4c519e9a111b5732623af07a528c3d23d859 100644 --- a/exercises/exercise-properties/exercise_properties.cc +++ b/exercises/exercise-properties/exercise_properties.cc @@ -155,14 +155,11 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; - - // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); // instantiate time loop diff --git a/exercises/exercise-runtimeparams/exercise_runtimeparams.cc b/exercises/exercise-runtimeparams/exercise_runtimeparams.cc index 315fb6fd78431e54b0227b60f6bd7bb60a57de0d..e1f59795af2dae7d00be6db859aab85e2969adec 100644 --- a/exercises/exercise-runtimeparams/exercise_runtimeparams.cc +++ b/exercises/exercise-runtimeparams/exercise_runtimeparams.cc @@ -125,11 +125,11 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); // instantiate time loop diff --git a/exercises/solution/exercise-basic/exercise_basic_2pni.cc b/exercises/solution/exercise-basic/exercise_basic_2pni.cc index 3a9037d996109d266a39c12c8659e9511252a26b..e8e234af521c072dcee617232787820f4bc23ece 100644 --- a/exercises/solution/exercise-basic/exercise_basic_2pni.cc +++ b/exercises/solution/exercise-basic/exercise_basic_2pni.cc @@ -123,11 +123,11 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); // instantiate time loop diff --git a/exercises/solution/exercise-biomineralization/exercisebiomin.cc b/exercises/solution/exercise-biomineralization/exercisebiomin.cc index a4cbddfd057b5462be42c54695b44f8f6cfa3ac5..0ac7f193b04829a529f0d00725ebf41c391f1df7 100644 --- a/exercises/solution/exercise-biomineralization/exercisebiomin.cc +++ b/exercises/solution/exercise-biomineralization/exercisebiomin.cc @@ -104,7 +104,7 @@ int main(int argc, char** argv) try // the grid variables using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); - gridVariables->init(x, xOld); + gridVariables->init(x); // get some time loop parameters using Scalar = GetPropType<TypeTag, Properties::Scalar>; @@ -113,9 +113,9 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // initialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - VtkOutputFields::init(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields //add specific output vtkWriter.addField(problem->getKxx(), "Kxx"); vtkWriter.addField(problem->getKyy(), "Kyy"); diff --git a/exercises/solution/exercise-coupling-ff-pm/interface/ex_interface_coupling_ff-pm.cc b/exercises/solution/exercise-coupling-ff-pm/interface/ex_interface_coupling_ff-pm.cc index 84434750b1961a57b3d6a06be27df697eb06e601..4f3bc841f1402a4bfb27302854baa9bc6e64cbaf 100644 --- a/exercises/solution/exercise-coupling-ff-pm/interface/ex_interface_coupling_ff-pm.cc +++ b/exercises/solution/exercise-coupling-ff-pm/interface/ex_interface_coupling_ff-pm.cc @@ -192,7 +192,7 @@ int main(int argc, char** argv) try const auto darcyName = getParam<std::string>("Problem.Name") + "_" + darcyProblem->name(); StaggeredVtkOutputModule<StokesGridVariables, decltype(stokesSol)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesName); - GetPropType<StokesTypeTag, Properties::VtkOutputFields>::initOutputModule(stokesVtkWriter); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); #if EXNUMBER >= 2 stokesVtkWriter.addField(stokesProblem->getAnalyticalVelocityX(), "analyticalV_x"); diff --git a/exercises/solution/exercise-coupling-ff-pm/models/ex_models_coupling_ff-pm.cc b/exercises/solution/exercise-coupling-ff-pm/models/ex_models_coupling_ff-pm.cc index 8528aeba78ac6a54a16aec617d21ba99395b431d..da400646bb372dc2f387565ba66347f2b0f00fbf 100644 --- a/exercises/solution/exercise-coupling-ff-pm/models/ex_models_coupling_ff-pm.cc +++ b/exercises/solution/exercise-coupling-ff-pm/models/ex_models_coupling_ff-pm.cc @@ -178,7 +178,7 @@ int main(int argc, char** argv) try #endif StaggeredVtkOutputModule<StokesGridVariables, decltype(stokesSol)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesName); - GetPropType<StokesTypeTag, Properties::VtkOutputFields>::initOutputModule(stokesVtkWriter); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); stokesVtkWriter.write(0); VtkOutputModule<DarcyGridVariables, GetPropType<DarcyTypeTag, Properties::SolutionVector>> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyName); diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/ex_turbulence_coupling_ff-pm.cc b/exercises/solution/exercise-coupling-ff-pm/turbulence/ex_turbulence_coupling_ff-pm.cc index ac7f7584f622064966d4eefc47487889de0180d9..a50ebcea412c54c256df918817b560d16efeb1c0 100644 --- a/exercises/solution/exercise-coupling-ff-pm/turbulence/ex_turbulence_coupling_ff-pm.cc +++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/ex_turbulence_coupling_ff-pm.cc @@ -180,7 +180,7 @@ int main(int argc, char** argv) try const auto darcyName = getParam<std::string>("Problem.Name") + "_" + darcyProblem->name(); StaggeredVtkOutputModule<StokesGridVariables, decltype(stokesSol)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesName); - GetPropType<StokesTypeTag, Properties::VtkOutputFields>::initOutputModule(stokesVtkWriter); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); stokesVtkWriter.write(0.0); VtkOutputModule<DarcyGridVariables, GetPropType<DarcyTypeTag, Properties::SolutionVector>> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyName); diff --git a/exercises/solution/exercise-fluidsystem/exercise-fluidsystem.cc b/exercises/solution/exercise-fluidsystem/exercise-fluidsystem.cc index ce136ff9df9e47daab2e84a6b77a784b8ee3f146..723a640bc5756c99cb03a500358bf9af3f712d18 100644 --- a/exercises/solution/exercise-fluidsystem/exercise-fluidsystem.cc +++ b/exercises/solution/exercise-fluidsystem/exercise-fluidsystem.cc @@ -105,7 +105,7 @@ int main(int argc, char** argv) try // the grid variables using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); - gridVariables->init(x, xOld); + gridVariables->init(x); // get some time loop parameters using Scalar = GetPropType<TypeTag, Properties::Scalar>; @@ -113,11 +113,11 @@ int main(int argc, char** argv) try const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields // instantiate time loop auto timeLoop = std::make_shared<TimeLoop<Scalar>>(/*start time*/0.0, dt, tEnd); diff --git a/exercises/solution/exercise-fluidsystem/fluidsystems/h2omycompressiblecomponent.hh b/exercises/solution/exercise-fluidsystem/fluidsystems/h2omycompressiblecomponent.hh index 6f4d9be42fc2a7eeea40f7b922639d630931c2a9..4ff5595721564d460fcf466d04f618adf255de0f 100644 --- a/exercises/solution/exercise-fluidsystem/fluidsystems/h2omycompressiblecomponent.hh +++ b/exercises/solution/exercise-fluidsystem/fluidsystems/h2omycompressiblecomponent.hh @@ -122,6 +122,12 @@ public: return true; } + static constexpr bool isGas(int phaseIdx) + { + assert(0 <= phaseIdx && phaseIdx < numPhases); + return phaseIdx == phase1Idx; + } + static constexpr bool isIdealGas(int phaseIdx) { return H2O::gasIsIdeal() && MyCompressibleComponent::gasIsIdeal(); } diff --git a/exercises/solution/exercise-fractures/exercise_fractures.cc b/exercises/solution/exercise-fractures/exercise_fractures.cc index ac6a9f1b3223a6bc4c189cd1e340e616e9b13296..c545a6e9782bdf5ee3146a977b77c8bf78838c50 100644 --- a/exercises/solution/exercise-fractures/exercise_fractures.cc +++ b/exercises/solution/exercise-fractures/exercise_fractures.cc @@ -180,10 +180,10 @@ int main(int argc, char** argv) try VtkOutputModule<FractureTypeTag> fractureVtkWriter(*fractureProblem, *fractureFvGridGeometry, *fractureGridVariables, x[fractureDomainId], fractureProblem->name()); // Add model specific output fields - using MatrixVtkOutputFields = typename GET_PROP_TYPE(MatrixTypeTag, VtkOutputFields); - using FractureVtkOutputFields = typename GET_PROP_TYPE(FractureTypeTag, VtkOutputFields); - MatrixVtkOutputFields::init(matrixVtkWriter); - FractureVtkOutputFields::init(fractureVtkWriter); + using MatrixIOFields = typename GET_PROP_TYPE(MatrixTypeTag, IOFields); + using FractureIOFields = typename GET_PROP_TYPE(FractureTypeTag, IOFields); + MatrixIOFields::initOutputModule(matrixVtkWriter); + FractureIOFields::initOutputModule(fractureVtkWriter); // add domain markers to output std::vector<int> matrixDomainMarkers(matrixFvGridGeometry->gridView().size(0)); diff --git a/exercises/solution/exercise-grids/exercise_grids_solution.cc b/exercises/solution/exercise-grids/exercise_grids_solution.cc index 6a9075383a74a5d551073efa17620cec6adfb56a..0f5ba9852fdad06cca4524bc93a6eff681db6008 100644 --- a/exercises/solution/exercise-grids/exercise_grids_solution.cc +++ b/exercises/solution/exercise-grids/exercise_grids_solution.cc @@ -125,11 +125,11 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); // instantiate time loop diff --git a/exercises/solution/exercise-grids/injection2pproblem.hh b/exercises/solution/exercise-grids/injection2pproblem.hh index 325d555dd6466f9c83371cabf8c373c81640ebc0..a18e2f4892fe371cf8824f7cd13a5f32a6f87efb 100644 --- a/exercises/solution/exercise-grids/injection2pproblem.hh +++ b/exercises/solution/exercise-grids/injection2pproblem.hh @@ -47,19 +47,19 @@ struct Injection2pCCTypeTag { using InheritsFrom = std::tuple<Injection2pTypeTag } // end namespace TTag //Set the grid type -template<class TypeTag> -struct Grid<TypeTag, TTag::Injection2pTypeTag> { using type = Dune::YaspGrid<2>; }; +// template<class TypeTag> +// struct Grid<TypeTag, TTag::Injection2pTypeTag> { using type = Dune::YaspGrid<2>; }; // TODO: Task 2: Replace the above Grid Property definition with a more flexible grid (Use Dune::TensorProductCoordinates) template<class TypeTag> struct Grid<TypeTag, TTag::Injection2pTypeTag> { using type = Dune::YaspGrid<2, Dune::TensorProductCoordinates<double, 2> >; }; // TODO: Task 4: Replace the above Grid Property definition to read in a external structured grid via a .msh file (Use Dune::ALUGrid and Dune:cube) -template<class TypeTag> -struct Grid<TypeTag, TTag::Injection2pTypeTag> { using type = Dune::ALUGrid<2, 2, Dune::cube, Dune::nonconforming>; }; +// template<class TypeTag> +// struct Grid<TypeTag, TTag::Injection2pTypeTag> { using type = Dune::ALUGrid<2, 2, Dune::cube, Dune::nonconforming>; }; // TODO: Task 5: Replace the above Grid Property definition to read in a external unstructured grid via a .msh file (Use Dune::ALUGrid and Dune::simplex) -template<class TypeTag> -struct Grid<TypeTag, TTag::Injection2pTypeTag> { using type = Dune::ALUGrid<2, 2, Dune::simplex, Dune::nonconforming>; }; +// template<class TypeTag> +// struct Grid<TypeTag, TTag::Injection2pTypeTag> { using type = Dune::ALUGrid<2, 2, Dune::simplex, Dune::nonconforming>; }; // Set the problem property template<class TypeTag> diff --git a/exercises/solution/exercise-properties/exercise_properties_solution.cc b/exercises/solution/exercise-properties/exercise_properties_solution.cc index 2b4e03abf43e32db993de998ccab37cb3a679c71..f532f0dad45de620de89be1a7c73e3e4c7a1eb9a 100644 --- a/exercises/solution/exercise-properties/exercise_properties_solution.cc +++ b/exercises/solution/exercise-properties/exercise_properties_solution.cc @@ -154,14 +154,11 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; - - // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); // instantiate time loop diff --git a/exercises/solution/exercise-properties/mylocalresidual.hh b/exercises/solution/exercise-properties/mylocalresidual.hh index 485f33a8eacb2e145382e0beded58fbf11cba68c..2270f28e38c03e69c4bec6cdbffebfc7dc4598d5 100644 --- a/exercises/solution/exercise-properties/mylocalresidual.hh +++ b/exercises/solution/exercise-properties/mylocalresidual.hh @@ -53,7 +53,7 @@ class MyLocalResidual : public GET_PROP_TYPE(TypeTag, BaseLocalResidual) using EnergyLocalResidual = typename GET_PROP_TYPE(TypeTag, EnergyLocalResidual); using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - static constexpr int numPhases = ModelTraits::numPhases(); + static constexpr int numPhases = ModelTraits::numFluidPhases(); static constexpr int conti0EqIdx = ModelTraits::Indices::conti0EqIdx; //!< first index for the mass balance public: diff --git a/exercises/solution/exercise-runtimeparams/exercise_runtimeparams_solution.cc b/exercises/solution/exercise-runtimeparams/exercise_runtimeparams_solution.cc index 315fb6fd78431e54b0227b60f6bd7bb60a57de0d..e1f59795af2dae7d00be6db859aab85e2969adec 100644 --- a/exercises/solution/exercise-runtimeparams/exercise_runtimeparams_solution.cc +++ b/exercises/solution/exercise-runtimeparams/exercise_runtimeparams_solution.cc @@ -125,11 +125,11 @@ int main(int argc, char** argv) try auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); // instantiate time loop