diff --git a/dumux/porousmediumflow/tracer/model.hh b/dumux/porousmediumflow/tracer/model.hh index 38749aa40f16a6c182103518f176981c4802b60f..b36fbb8ade55cf432ef7aa976226a4d11135cbbd 100644 --- a/dumux/porousmediumflow/tracer/model.hh +++ b/dumux/porousmediumflow/tracer/model.hh @@ -97,8 +97,15 @@ SET_BOOL_PROP(Tracer, UseMoles, true); //!< Define that mole fractions are used //! Use the tracer local residual function for the tracer model SET_TYPE_PROP(Tracer, LocalResidual, TracerLocalResidual<TypeTag>); -//! Set the default vtk output fields -SET_TYPE_PROP(Tracer, VtkOutputFields, TracerVtkOutputFields<TypeTag>); +//! Set the vtk output fields specific to this model +SET_PROP(Tracer, VtkOutputFields) +{ +private: + using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); +public: + using type = TracerVtkOutputFields<FluidSystem>; +}; + //! define the VolumeVariables SET_TYPE_PROP(Tracer, VolumeVariables, TracerVolumeVariables<TypeTag>); diff --git a/dumux/porousmediumflow/tracer/vtkoutputfields.hh b/dumux/porousmediumflow/tracer/vtkoutputfields.hh index 77eb44e2e3ea8c903f1125f14d870928d751d0d7..d8c4b1d48dae3e12d0f3ce108728f5bbdf1368e5 100644 --- a/dumux/porousmediumflow/tracer/vtkoutputfields.hh +++ b/dumux/porousmediumflow/tracer/vtkoutputfields.hh @@ -33,11 +33,10 @@ namespace Dumux * \ingroup TracerModel * \brief Adds vtk output fields specific to the tracer model */ -template<class TypeTag> +template<class FluidSystem> class TracerVtkOutputFields { - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); + public: template <class VtkOutputModule> static void init(VtkOutputModule& vtk) @@ -45,12 +44,12 @@ public: // register standardized vtk output fields for (int compIdx = 0; compIdx < FluidSystem::numComponents; ++compIdx) { - vtk.addVolumeVariable( [compIdx](const VolumeVariables& v){ return v.moleFraction(0, compIdx); }, + vtk.addVolumeVariable( [compIdx](const auto& v){ return v.moleFraction(0, compIdx); }, "x_" + std::string(FluidSystem::componentName(compIdx))); - vtk.addVolumeVariable( [compIdx](const VolumeVariables& v){ return v.massFraction(0, compIdx); }, + vtk.addVolumeVariable( [compIdx](const auto& v){ return v.massFraction(0, compIdx); }, "X_" + std::string(FluidSystem::componentName(compIdx))); } - vtk.addVolumeVariable( [](const VolumeVariables& v){ return v.density(); }, "rho"); + vtk.addVolumeVariable( [](const auto& v){ return v.density(); }, "rho"); } };