diffusivepart.hh 4.38 KB
 Andreas Lauser committed Dec 16, 2011 1 2 ``````// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- // vi: set et ts=4 sw=4 sts=4: `````` Bernd Flemisch committed Jul 14, 2010 3 ``````/***************************************************************************** `````` Bernd Flemisch committed Aug 27, 2012 4 `````` * See the file COPYING for full copying permissions. * `````` Bernd Flemisch committed Jul 14, 2010 5 `````` * * `````` Andreas Lauser committed Jan 04, 2011 6 `````` * This program is free software: you can redistribute it and/or modify * `````` Bernd Flemisch committed Jul 14, 2010 7 `````` * it under the terms of the GNU General Public License as published by * `````` Andreas Lauser committed Jan 04, 2011 8 9 `````` * the Free Software Foundation, either version 2 of the License, or * * (at your option) any later version. * `````` Bernd Flemisch committed Jul 14, 2010 10 `````` * * `````` Andreas Lauser committed Jan 04, 2011 11 12 13 14 15 16 17 `````` * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * `````` Bernd Flemisch committed Jul 14, 2010 18 19 20 21 `````` *****************************************************************************/ #ifndef DUMUX_DIFFUSIVEPART_HH #define DUMUX_DIFFUSIVEPART_HH `````` 22 ``````#include `````` Bernd Flemisch committed Jan 05, 2012 23 `````` `````` Bernd Flemisch committed Jul 14, 2010 24 ``````/** `````` Markus Wolff committed Feb 21, 2012 25 26 `````` * \file * \brief Base class for defining a diffusive part of the saturation transport equation `````` Bernd Flemisch committed Jul 14, 2010 27 28 29 `````` */ namespace Dumux { `````` Markus Wolff committed Feb 21, 2012 30 31 ``````/*!\ingroup FVSaturation2p * \brief Base class for defining the diffusive part of the saturation transport equation `````` Bernd Flemisch committed Jul 14, 2010 32 `````` * `````` Markus Wolff committed Feb 21, 2012 33 `````` * \tparam TypeTag The problem TypeTag `````` Bernd Flemisch committed Jul 14, 2010 34 35 36 37 38 `````` */ template class DiffusivePart { private: `````` Andreas Lauser committed Jan 05, 2012 39 40 41 `````` typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem; `````` Bernd Flemisch committed Jul 14, 2010 42 43 44 `````` enum{dim = GridView::dimension}; typedef typename GridView::Traits::template Codim<0>::Entity Element; `````` Markus Wolff committed Jan 18, 2012 45 `````` typedef typename GridView::Intersection Intersection; `````` Markus Wolff committed Apr 25, 2012 46 `````` typedef Dune::FieldVector DimVector; `````` Bernd Flemisch committed Jul 14, 2010 47 48 `````` public: `````` Markus Wolff committed Aug 15, 2012 49 50 51 52 `````` //! For initialization void initialize(){}; `````` Markus Wolff committed Feb 21, 2012 53 54 55 56 57 58 59 `````` /*! \brief Returns diffusive term for current element face * * \param flux Flux vector (gets the flux from the function) * \param intersection Intersection of two grid elements/global boundary * \param satI saturation of current element * \param satJ saturation of neighbor element * \param pcGradient gradient of capillary pressure between element I and J `````` Bernd Flemisch committed Jul 14, 2010 60 `````` */ `````` Markus Wolff committed Apr 25, 2012 61 `````` void getFlux(DimVector& flux, const Intersection& intersection, Scalar satI, Scalar satJ, const DimVector& pcGradient) const `````` Markus Wolff committed Jan 18, 2012 62 `````` {} `````` Bernd Flemisch committed Jul 14, 2010 63 `````` `````` Markus Wolff committed Feb 21, 2012 64 65 66 67 68 69 70 `````` /*! \brief Returns diffusive term for current element face * * \param flux Flux vector (gets the flux from the function) * \param intersection Intersection of two grid elements/global boundary * \param satIntersection saturation at the face between element I and J * \param satGradient gradient of saturation between element I and J * \param time time `````` Bernd Flemisch committed Jul 14, 2010 71 `````` */ `````` Markus Wolff committed Apr 25, 2012 72 73 `````` void getFlux(DimVector& flux, const Intersection& intersection, const Scalar satIntersection, const DimVector& satGradient, const Scalar time) const `````` Markus Wolff committed Jan 18, 2012 74 `````` {} `````` Bernd Flemisch committed Jul 14, 2010 75 `````` `````` Markus Wolff committed Feb 21, 2012 76 77 78 79 80 81 82 83 84 `````` /*! \brief Returns diffusive term for current element face * * \param flux Flux vector (gets the flux from the function) * \param intersection Intersection of two grid elements/global boundary * \param satIntersection saturation at the face between element I and J * \param satGradient gradient of saturation between element I and J * \param time time * \param satI saturation of current element * \param satJ saturation of neighbor element `````` Bernd Flemisch committed Jul 14, 2010 85 `````` */ `````` Markus Wolff committed Apr 25, 2012 86 87 `````` void getFlux(DimVector& flux, const Intersection& intersection, const Scalar satIntersection, const DimVector& satGradient, const Scalar time, `````` Bernd Flemisch committed Jul 14, 2010 88 `````` Scalar satI, Scalar satJ) const `````` Markus Wolff committed Jan 18, 2012 89 `````` {} `````` Bernd Flemisch committed Jul 14, 2010 90 91 `````` `````` Markus Wolff committed Feb 21, 2012 92 `````` //! Constructs a DiffusivePart object `````` Markus Wolff committed Jan 07, 2011 93 `````` /* `````` Markus Wolff committed Feb 21, 2012 94 `````` * \param A problem class object `````` Markus Wolff committed Jan 07, 2011 95 `````` */ `````` Bernd Flemisch committed Jul 14, 2010 96 97 `````` DiffusivePart(Problem& problem) {} `````` Markus Wolff committed Feb 21, 2012 98 `````` `````` Bernd Flemisch committed Jul 14, 2010 99 100 101 102 ``````}; } #endif``````