version 3.10-dev
porenetwork/common/iofields.hh
Go to the documentation of this file.
1// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2// vi: set et ts=4 sw=4 sts=4:
3//
4// SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
12#ifndef DUMUX_PNM_COMMON_OUTPUT_FIELDS_HH
13#define DUMUX_PNM_COMMON_OUTPUT_FIELDS_HH
14
17
18namespace Dumux::PoreNetwork {
19
25{
26public:
27 template <class OutputModule>
28 static void initOutputModule(OutputModule& out)
29 {
30 out.addField(out.problem().gridGeometry().coordinationNumber(), "coordinationNumber", Vtk::FieldType::vertex);
31
32 out.addField(out.problem().gridGeometry().poreLabel(), "poreLabel", Vtk::FieldType::vertex);
33
34 out.addVolumeVariable([](const auto& volVars){ return volVars.poreInscribedRadius(); }, "poreInscribedRadius");
35
36 out.addField(out.problem().gridGeometry().throatLabel(), "throatLabel", Vtk::FieldType::element);
37
38 out.addFluxVariable([](const auto& fluxVars, const auto& fluxVarsCache)
39 { return fluxVarsCache.throatInscribedRadius(); }, "throatInscribedRadius");
40
41 out.addFluxVariable([](const auto& fluxVars, const auto& fluxVarsCache)
42 { return fluxVarsCache.throatLength(); }, "throatLength");
43 }
44};
45
46} // end namespace Dumux::PoreNetwork
47
48#endif
Adds output fields specific to all pore-network models.
Definition: porenetwork/common/iofields.hh:25
static void initOutputModule(OutputModule &out)
Definition: porenetwork/common/iofields.hh:28
Vtk field types available in Dumux.
Dune style VTK functions.
Definition: discretization/porenetwork/fvelementgeometry.hh:24