From c07de5d4620ff87a44522503d26b995d1e4767c5 Mon Sep 17 00:00:00 2001 From: Andreas Lauser Date: Sun, 8 Jul 2012 00:07:50 +0200 Subject: [PATCH] sync with splitting point --- doc/doxygen/.gitignore | 4 - doc/doxygen/html/.git-keep | 0 doc/handbook/.gitignore | 8 - .../binarycoefficients/fullermethod.hh | 2 +- dumux/material/binarycoefficients/h2o_n2.hh | 2 +- .../material/binarycoefficients/henryiapws.hh | 2 +- dumux/material/components/ch4.hh | 211 ++++++++++++++++++ dumux/material/components/component.hh | 2 +- dumux/material/components/h2o.hh | 2 +- dumux/material/components/iapws/common.hh | 2 +- dumux/material/components/iapws/region1.hh | 2 +- dumux/material/components/iapws/region2.hh | 2 +- dumux/material/components/iapws/region4.hh | 2 +- dumux/material/components/n2.hh | 2 +- dumux/material/components/simpleco2.hh | 190 ++++++++++++++++ dumux/material/components/simplednapl.hh | 2 +- dumux/material/components/simpleh2o.hh | 2 +- .../material/components/tabulatedcomponent.hh | 2 +- dumux/material/components/unit.hh | 2 +- .../fluidmatrixinteractions/2p/brookscorey.hh | 2 +- .../2p/brookscoreyparams.hh | 2 +- .../fluidmatrixinteractions/2p/efftoabslaw.hh | 2 +- .../2p/efftoabslawparams.hh | 2 +- .../2p/linearmaterial.hh | 2 +- .../2p/linearmaterialparams.hh | 2 +- .../2p/regularizedbrookscorey.hh | 2 +- .../2p/regularizedbrookscoreyparams.hh | 2 +- .../2p/regularizedvangenuchten.hh | 2 +- .../2p/regularizedvangenuchtenparams.hh | 2 +- .../2p/vangenuchten.hh | 2 +- .../2p/vangenuchtenparams.hh | 2 +- dumux/material/fluidstate.hh | 2 +- dumux/material/fluidsystems/2p_system.hh | 2 +- dumux/material/fluidsystems/h2o_n2_system.hh | 2 +- .../fluidsystems/isfluid_trail_system.hh | 136 +++++++++++ dumux/material/idealgas.hh | 2 +- dumux/material/settablephase.hh | 2 +- .../spatialparameters/boxspatialparameters.hh | 2 +- dune/dumux | 1 + 39 files changed, 570 insertions(+), 44 deletions(-) delete mode 100644 doc/doxygen/.gitignore delete mode 100644 doc/doxygen/html/.git-keep delete mode 100644 doc/handbook/.gitignore create mode 100644 dumux/material/components/ch4.hh create mode 100644 dumux/material/components/simpleco2.hh create mode 100644 dumux/material/fluidsystems/isfluid_trail_system.hh create mode 120000 dune/dumux diff --git a/doc/doxygen/.gitignore b/doc/doxygen/.gitignore deleted file mode 100644 index 415b19b52..000000000 --- a/doc/doxygen/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -#doxygen -doxygen-tag -doxygen.log -html diff --git a/doc/doxygen/html/.git-keep b/doc/doxygen/html/.git-keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/handbook/.gitignore b/doc/handbook/.gitignore deleted file mode 100644 index 405bdb87c..000000000 --- a/doc/handbook/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -dumux-handbook.aux -dumux-handbook.bbl -dumux-handbook.blg -dumux-handbook.idx -dumux-handbook.log -dumux-handbook.out -dumux-handbook.pdf -dumux-handbook.toc diff --git a/dumux/material/binarycoefficients/fullermethod.hh b/dumux/material/binarycoefficients/fullermethod.hh index decea899c..b7895d135 100644 --- a/dumux/material/binarycoefficients/fullermethod.hh +++ b/dumux/material/binarycoefficients/fullermethod.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: fullermethod.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/binarycoefficients/h2o_n2.hh b/dumux/material/binarycoefficients/h2o_n2.hh index 682abd2a9..aa152aee9 100644 --- a/dumux/material/binarycoefficients/h2o_n2.hh +++ b/dumux/material/binarycoefficients/h2o_n2.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: h2o_n2.hh 3783 2010-06-24 11:33:53Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/binarycoefficients/henryiapws.hh b/dumux/material/binarycoefficients/henryiapws.hh index df4c30afd..f0baa26e8 100644 --- a/dumux/material/binarycoefficients/henryiapws.hh +++ b/dumux/material/binarycoefficients/henryiapws.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: henryiapws.hh 3783 2010-06-24 11:33:53Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/ch4.hh b/dumux/material/components/ch4.hh new file mode 100644 index 000000000..2d3cc6e63 --- /dev/null +++ b/dumux/material/components/ch4.hh @@ -0,0 +1,211 @@ +/***************************************************************************** + * Copyright (C) 2010 by Andreas Lauser + * Institute of Hydraulic Engineering * + * University of Stuttgart, Germany * + * email: .@iws.uni-stuttgart.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version, as long as this copyright notice * + * is included in its original form. * + * * + * This program is distributed WITHOUT ANY WARRANTY. * + *****************************************************************************/ +/*! + * \file + * + * \brief Properties of methone (\f$CH_4\f$). + */ +#ifndef DUMUX_CH4_HH +#define DUMUX_CH4_HH + +#include +#include + +#include "component.hh" + +#include + +namespace Dumux +{ + +/*! + * \brief Properties of pure molecular methane \f$CH_4\f$. + */ +template +class CH4 : public Component > +{ + typedef Component > ParentType; + typedef Dumux::IdealGas IdealGas; + +public: + /*! + * \brief A human readable name for methane. + */ + static const char *name() + { return "CH4"; } + + /*! + * \brief The mass in [kg/mol] of one of molecular methane. + */ + static Scalar molarMass() + { return 16.043e-3;} + + /*! + * \brief Returns the critical temperature [K] of molecular methane + */ + static Scalar criticalTemperature() + { return 190.4; /* [K] */ } + + /*! + * \brief Returns the critical pressure [Pa] of molecular methane + */ + static Scalar criticalPressure() + { return 46e5; /* [N/m^2] */ } + + /*! + * \brief Returns the temperature [K] at molecular methane's triple point. + */ + static Scalar tripleTemperature() + { return 90.7; /* [K] */ } + + /*! + * \brief Returns the pressure [Pa] at molecular methane's triple point. + */ + static Scalar triplePressure() + { return 0; /* [N/m^2] */ } + + /*! + * \brief The vapor pressure in [Pa] of pure molecular methane + * at a given temperature. + */ + static Scalar vaporPressure(Scalar T) + { DUNE_THROW(Dune::NotImplemented, "vaporPressure for CH4"); } + + + /*! + * \brief The density [kg/m^3] of CH4 gas at a given pressure and temperature. + */ + static Scalar gasDensity(Scalar temperature, Scalar pressure) + { + // Assume an ideal gas + return IdealGas::density(molarMass(), temperature, pressure); + } + + /* + * \brief The pressure of gaseous CH4 at a given density and temperature [Pa]. + */ + static Scalar gasPressure(Scalar temperature, Scalar density) + { + // Assume an ideal gas + return IdealGas::pressure(temperature, density/molarMass()); + } + + /*! + * \brief The density [kg/m^3] of CH4 gas at a given pressure and temperature. + */ + static Scalar liquidDensity(Scalar temperature, Scalar pressure) + { DUNE_THROW(Dune::NotImplemented, "liquidDensity for CH4"); } + + /* + * \brief The pressure of liquid methane at a given density and + * temperature [Pa]. + */ + static Scalar liquidPressure(Scalar temperature, Scalar density) + { DUNE_THROW(Dune::NotImplemented, "liquidPressure for CH4"); } + + /*! + * \brief Specific enthalpy [J/kg] of pure methane gas. + * + * See: R. Reid, et al.: The Properties of Gases and Liquids, 4th + * edition, McGraw-Hill, 1987, pp 154, 657, 671 + */ + static const Scalar gasEnthalpy(Scalar T, + Scalar pressure) + { + // method of Joback + const Scalar cpVapA = 19.25; + const Scalar cpVapB = 0.05213; + const Scalar cpVapC = 1.197e-5; + const Scalar cpVapD = -1.132e-8; + + //Scalar cp = + // cpVapA + T*(cpVapB + T*(cpVapC + T*cpVapD)); + + // calculate: \int_0^T c_p dT + return + 1/molarMass()* // conversion from [J/mol] to [J/kg] + + T*(cpVapA + T* + (cpVapB/2 + T* + (cpVapC/3 + T* + (cpVapD/4)))); + } + + /*! + * \brief Specific enthalpy [J/kg] of pure liquid CH4. + */ + static Scalar liquidEnthalpy(Scalar temperature, Scalar pressure) + { DUNE_THROW(Dune::NotImplemented, "liquidEnthalpy for CH4"); } + + /*! + * \brief Specific enthalpy [J/kg] of pure methane gas. + */ + static const Scalar gasInternalEnergy(Scalar temperature, + Scalar pressure) + { + + return + gasEnthalpy(temperature, pressure) - + IdealGas::R*temperature; // = pressure * spec. volume for an ideal gas + } + + /*! + * \brief Specific enthalpy [J/kg] of pure liquid CH4. + */ + static Scalar liquidInternalEnergy(Scalar temperature, Scalar pressure) + { DUNE_THROW(Dune::NotImplemented, "liquidInternalEnergy of CH4"); } + + /*! + * \brief The dynamic viscosity [Pa s] of CH4 at a given pressure and temperature. + * + * See: + * + * See: R. Reid, et al.: The Properties of Gases and Liquids, 4th + * edition, McGraw-Hill, 1987, pp 396-397, 670 + */ + static Scalar gasViscosity(Scalar temperature, Scalar pressure) + { + const Scalar Tc = criticalTemperature(); + const Scalar Vc = 99.2; // critical specific volume [cm^3/mol] + const Scalar omega = 0.011; // accentric factor + const Scalar M = molarMass() * 1e3; // molar mas [g/mol] + const Scalar dipole = 0.0; // dipole moment [debye] + + Scalar mu_r4 = 131.3 * dipole / std::sqrt(Vc * Tc); + mu_r4 *= mu_r4; + mu_r4 *= mu_r4; + + Scalar Fc = 1 - 0.2756*omega + 0.059035*mu_r4; + Scalar Tstar = 1.2593 * temperature/Tc; + Scalar Omega_v = + 1.16145*std::pow(Tstar, -0.14874) + + 0.52487*std::exp(- 0.77320*Tstar) + + 2.16178*std::exp(- 2.43787*Tstar); + Scalar mu = 40.785*Fc*std::sqrt(M*temperature)/(std::pow(Vc, 2./3)*Omega_v); + + // convertion from micro poise to Pa s + return mu/1e6 / 10; + } + + /*! + * \brief The dynamic liquid viscosity [N/m^3*s] of pure CH4. + */ + static Scalar liquidViscosity(Scalar temperature, Scalar pressure) + { DUNE_THROW(Dune::NotImplemented, "liquidViscosity for CH4"); } +}; + +} // end namepace + +#endif diff --git a/dumux/material/components/component.hh b/dumux/material/components/component.hh index 7a2d86527..466d3737e 100644 --- a/dumux/material/components/component.hh +++ b/dumux/material/components/component.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: component.hh 3824 2010-07-13 13:30:02Z lauser $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/h2o.hh b/dumux/material/components/h2o.hh index 53dd670ad..a197c7285 100644 --- a/dumux/material/components/h2o.hh +++ b/dumux/material/components/h2o.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: h2o.hh 3783 2010-06-24 11:33:53Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/iapws/common.hh b/dumux/material/components/iapws/common.hh index 991cca533..659b7a59b 100644 --- a/dumux/material/components/iapws/common.hh +++ b/dumux/material/components/iapws/common.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: common.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009-2010 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/iapws/region1.hh b/dumux/material/components/iapws/region1.hh index cbcb8be2f..528db976f 100644 --- a/dumux/material/components/iapws/region1.hh +++ b/dumux/material/components/iapws/region1.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: region1.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009-2010 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/iapws/region2.hh b/dumux/material/components/iapws/region2.hh index f04599881..c8fb50d44 100644 --- a/dumux/material/components/iapws/region2.hh +++ b/dumux/material/components/iapws/region2.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: region2.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009-2010 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/iapws/region4.hh b/dumux/material/components/iapws/region4.hh index c527846b3..e8c5066c5 100644 --- a/dumux/material/components/iapws/region4.hh +++ b/dumux/material/components/iapws/region4.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: region4.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009-2010 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/n2.hh b/dumux/material/components/n2.hh index c40943810..1b9ad9662 100644 --- a/dumux/material/components/n2.hh +++ b/dumux/material/components/n2.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: n2.hh 3783 2010-06-24 11:33:53Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/simpleco2.hh b/dumux/material/components/simpleco2.hh new file mode 100644 index 000000000..a6e8675bf --- /dev/null +++ b/dumux/material/components/simpleco2.hh @@ -0,0 +1,190 @@ +/***************************************************************************** + * Copyright (C) 2009-2010 by Melanie Darcis * + * Copyright (C) 2009-2010 by Andreas Lauser * + * Institute of Hydraulic Engineering * + * University of Stuttgart, Germany * + * email: .@iws.uni-stuttgart.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version, as long as this copyright notice * + * is included in its original form. * + * * + * This program is distributed WITHOUT ANY WARRANTY. * + *****************************************************************************/ +/*! + * \file + * + * \brief A simple class for the CO2 fluid properties + */ +#ifndef DUMUX_SIMPLE_CO2_HH +#define DUMUX_SIMPLE_CO2_HH + +#include +#include + +#include "component.hh" + +#include +#include + +namespace Dumux +{ +/*! + * \brief A class for the CO2 fluid properties + */ +template +class SimpleCO2 : public Component > +{ + typedef Dumux::IdealGas IdealGas; + +public: + /*! + * \brief A human readable name for the CO2. + */ + static const char *name() + { return "CO2"; } + + /*! + * \brief The mass in [kg] of one mole of CO2. + */ + static Scalar molarMass() + { return 44e-3; } + + /*! + * \brief Returns the critical temperature [K] of CO2 + */ + static Scalar criticalTemperature() + { return 273.15 + 30.95; /* [K] */ } + + /*! + * \brief Returns the critical pressure [Pa] of CO2 + */ + static Scalar criticalPressure() + { return 73.8e5; /* [N/m^2] */ } + + /*! + * \brief Returns the temperature [K]at CO2's triple point. + */ + static Scalar tripleTemperature() + { return 273.15 - 56.35; /* [K] */ } + + /*! + * \brief Returns the pressure [Pa] at CO2's triple point. + */ + static Scalar triplePressure() + { return 5.11e5; /* [N/m^2] */ } + + /*! + * \brief The vapor pressure in [N/m^2] of pure CO2 + * at a given temperature. + */ + static Scalar vaporPressure(Scalar T) + { DUNE_THROW(Dune::NotImplemented, "vaporPressure of simple CO2"); } + + /*! + * \brief Specific enthalpy of gaseous CO2 [J/kg]. + */ + static const Scalar gasEnthalpy(Scalar temperature, + Scalar pressure) + { return 571.3e3 + (temperature - 298.15)*0.85e3; } + + /*! + * \brief Specific enthalpy of liquid CO2 [J/kg]. + */ + static const Scalar liquidEnthalpy(Scalar temperature, + Scalar pressure) + { return (temperature - 298.15)*5e3; } + + /*! + * \brief Specific internal energy of CO2 [J/kg]. + */ + static const Scalar gasInternalEnergy(Scalar temperature, + Scalar pressure) + { + return + gasEnthalpy(temperature, pressure) - + IdealGas::R*temperature; // = pressure * spec. volume for an ideal gas + } + + /*! + * \brief Specific internal energy of liquid CO2 [J/kg]. + */ + static const Scalar liquidInternalEnergy(Scalar temperature, + Scalar pressure) + { DUNE_THROW(Dune::NotImplemented, "liquidInternalEnergy of simple CO2"); } + + /*! + * \brief The density of CO2 at a given pressure and temperature [kg/m^3]. + */ + static Scalar gasDensity(Scalar temperature, Scalar pressure) + { + // Assume an ideal gas + return IdealGas::density(molarMass(), temperature, pressure); + } + + /* + * \brief The pressure of gaseous CO2 at a given density and temperature [Pa]. + */ + static Scalar gasPressure(Scalar temperature, Scalar density) + { + // Assume an ideal gas + return IdealGas::pressure(temperature, density/molarMass()); + } + + /*! + * \brief The density of pure CO2 at a given pressure and temperature [kg/m^3]. + */ + static Scalar liquidDensity(Scalar temperature, Scalar pressure) + { DUNE_THROW(Dune::NotImplemented, "liquidDensity of simple CO2"); } + + /* + * \brief The pressure of liquid CO2 at a given density and + * temperature [Pa]. + */ + static Scalar liquidPressure(Scalar temperature, Scalar density) + { DUNE_THROW(Dune::NotImplemented, "liquidPressure for simple CO2"); } + + /*! + * \brief The dynamic viscosity [Pa s] of CO2 at a given pressure and temperature. + * + * See: + * + * See: R. Reid, et al.: The Properties of Gases and Liquids, 4th + * edition, McGraw-Hill, 1987, pp 396-397, 667 + */ + static Scalar gasViscosity(Scalar temperature, Scalar pressure) + { + const Scalar Tc = criticalTemperature(); + const Scalar Vc = 93.9; // critical specific volume [cm^3/mol] + const Scalar omega = 0.239; // accentric factor + const Scalar M = molarMass() * 1e3; // molar mas [g/mol] + const Scalar dipole = 0.0; // dipole moment [debye] + + Scalar mu_r4 = 131.3 * dipole / std::sqrt(Vc * Tc); + mu_r4 *= mu_r4; + mu_r4 *= mu_r4; + + Scalar Fc = 1 - 0.2756*omega + 0.059035*mu_r4; + Scalar Tstar = 1.2593 * temperature/Tc; + Scalar Omega_v = + 1.16145*std::pow(Tstar, -0.14874) + + 0.52487*std::exp(- 0.77320*Tstar) + + 2.16178*std::exp(- 2.43787*Tstar); + Scalar mu = 40.785*Fc*std::sqrt(M*temperature)/(std::pow(Vc, 2./3)*Omega_v); + + // convertion from micro poise to Pa s + return mu/1e6 / 10; + } + + /*! + * \brief The dynamic viscosity [N/m^3*s] of pure CO2. + */ + static Scalar liquidViscosity(Scalar temperature, Scalar pressure) + { DUNE_THROW(Dune::NotImplemented, "liquidViscosity of simple CO2"); } +}; + +} // end namepace + +#endif diff --git a/dumux/material/components/simplednapl.hh b/dumux/material/components/simplednapl.hh index 2ec18d3b3..a00a7d34f 100644 --- a/dumux/material/components/simplednapl.hh +++ b/dumux/material/components/simplednapl.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: simplednapl.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/simpleh2o.hh b/dumux/material/components/simpleh2o.hh index 601b20993..ad8fd2aa6 100644 --- a/dumux/material/components/simpleh2o.hh +++ b/dumux/material/components/simpleh2o.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: simpleh2o.hh 3783 2010-06-24 11:33:53Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/tabulatedcomponent.hh b/dumux/material/components/tabulatedcomponent.hh index 7cf871f74..588cf6d14 100644 --- a/dumux/material/components/tabulatedcomponent.hh +++ b/dumux/material/components/tabulatedcomponent.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: tabulatedcomponent.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/components/unit.hh b/dumux/material/components/unit.hh index 333b290fd..31b3d4afb 100644 --- a/dumux/material/components/unit.hh +++ b/dumux/material/components/unit.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: unit.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/brookscorey.hh b/dumux/material/fluidmatrixinteractions/2p/brookscorey.hh index 2bf6fa2f0..5cd1d5d53 100644 --- a/dumux/material/fluidmatrixinteractions/2p/brookscorey.hh +++ b/dumux/material/fluidmatrixinteractions/2p/brookscorey.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: brookscorey.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2008 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/brookscoreyparams.hh b/dumux/material/fluidmatrixinteractions/2p/brookscoreyparams.hh index ae4bf6cdd..3bf6a5839 100644 --- a/dumux/material/fluidmatrixinteractions/2p/brookscoreyparams.hh +++ b/dumux/material/fluidmatrixinteractions/2p/brookscoreyparams.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: brookscoreyparams.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2008 by Andreas Lauser, Bernd Flemisch * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh b/dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh index c8369dbed..96f4c92eb 100644 --- a/dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh +++ b/dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: efftoabslaw.hh 3811 2010-07-05 12:59:17Z pnuske $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/efftoabslawparams.hh b/dumux/material/fluidmatrixinteractions/2p/efftoabslawparams.hh index 4ef065595..a1a7049e6 100644 --- a/dumux/material/fluidmatrixinteractions/2p/efftoabslawparams.hh +++ b/dumux/material/fluidmatrixinteractions/2p/efftoabslawparams.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: efftoabslawparams.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh b/dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh index 7e96ef2b3..f8b6dd43a 100644 --- a/dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh +++ b/dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: linearmaterial.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/linearmaterialparams.hh b/dumux/material/fluidmatrixinteractions/2p/linearmaterialparams.hh index b0c95985a..f3a9fe506 100644 --- a/dumux/material/fluidmatrixinteractions/2p/linearmaterialparams.hh +++ b/dumux/material/fluidmatrixinteractions/2p/linearmaterialparams.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: linearmaterialparams.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2008 by Andreas Lauser, Bernd Flemisch * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh b/dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh index e5b4b664b..51d7952be 100644 --- a/dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh +++ b/dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: regularizedbrookscorey.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2008 by Andreas Lauser, Bernd Flemisch * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/regularizedbrookscoreyparams.hh b/dumux/material/fluidmatrixinteractions/2p/regularizedbrookscoreyparams.hh index c65b2869e..767a47fb0 100644 --- a/dumux/material/fluidmatrixinteractions/2p/regularizedbrookscoreyparams.hh +++ b/dumux/material/fluidmatrixinteractions/2p/regularizedbrookscoreyparams.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: regularizedbrookscoreyparams.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2008 by Andreas Lauser, Bernd Flemisch * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchten.hh b/dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchten.hh index 80233098b..072df298d 100644 --- a/dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchten.hh +++ b/dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchten.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: regularizedvangenuchten.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2008 by Andreas Lauser, Bernd Flemisch * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchtenparams.hh b/dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchtenparams.hh index c65ff9f7a..bbac9ad8d 100644 --- a/dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchtenparams.hh +++ b/dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchtenparams.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: regularizedvangenuchtenparams.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2008 by Andreas Lauser, Bernd Flemisch * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/vangenuchten.hh b/dumux/material/fluidmatrixinteractions/2p/vangenuchten.hh index 88603f05c..45102ffe6 100644 --- a/dumux/material/fluidmatrixinteractions/2p/vangenuchten.hh +++ b/dumux/material/fluidmatrixinteractions/2p/vangenuchten.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: vangenuchten.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2008 by Andreas Lauser, Bernd Flemisch * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidmatrixinteractions/2p/vangenuchtenparams.hh b/dumux/material/fluidmatrixinteractions/2p/vangenuchtenparams.hh index 0812da791..25181813b 100644 --- a/dumux/material/fluidmatrixinteractions/2p/vangenuchtenparams.hh +++ b/dumux/material/fluidmatrixinteractions/2p/vangenuchtenparams.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: vangenuchtenparams.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2008 by Andreas Lauser, Bernd Flemisch * * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidstate.hh b/dumux/material/fluidstate.hh index f4c3c745d..e496438f9 100644 --- a/dumux/material/fluidstate.hh +++ b/dumux/material/fluidstate.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: fluidstate.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidsystems/2p_system.hh b/dumux/material/fluidsystems/2p_system.hh index eea985f1e..e1dab713b 100644 --- a/dumux/material/fluidsystems/2p_system.hh +++ b/dumux/material/fluidsystems/2p_system.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: 2p_system.hh 3784 2010-06-24 13:43:57Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidsystems/h2o_n2_system.hh b/dumux/material/fluidsystems/h2o_n2_system.hh index 94eb44686..a4154846c 100644 --- a/dumux/material/fluidsystems/h2o_n2_system.hh +++ b/dumux/material/fluidsystems/h2o_n2_system.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: h2o_n2_system.hh 3824 2010-07-13 13:30:02Z lauser $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/fluidsystems/isfluid_trail_system.hh b/dumux/material/fluidsystems/isfluid_trail_system.hh new file mode 100644 index 000000000..83fe66b74 --- /dev/null +++ b/dumux/material/fluidsystems/isfluid_trail_system.hh @@ -0,0 +1,136 @@ +/***************************************************************************** + * Copyright (C) 2010 by Bernd Flemisch * + * Institute of Hydraulic Engineering * + * University of Stuttgart, Germany * + * email: .@iws.uni-stuttgart.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version, as long as this copyright notice * + * is included in its original form. * + * * + * This program is distributed WITHOUT ANY WARRANTY. * + *****************************************************************************/ +/*! + * \file + * + * \brief A fluid system with one phase and an arbitrary number of components. + */ +#ifndef DUMUX_ISFLUID_TRAIL_SYSTEM_HH +#define DUMUX_ISFLUID_TRAIL_SYSTEM_HH + +#include +#include + +namespace Dumux +{ + +namespace Properties +{ +NEW_PROP_TAG(Scalar); +}; + +/*! + * \brief A fluid system with one phase and an arbitrary number of components. + */ +template +class ISFluid_Trail_System +{ + typedef ISFluid_Trail_System ThisType; + typedef typename GET_PROP_TYPE(TypeTag, PTAG(Scalar)) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, PTAG(OnePTwoCIndices)) Indices; + + enum { + isfluid = Indices::konti, + trail = Indices::transport + }; + +public: + static void init() + {} + + /*! + * \brief Return the human readable name of a component + */ + static const char *componentName(int compIdx) + { + switch(compIdx) + { + case isfluid: + return "ISFluid"; + case trail: + return "Trail"; + default: + DUNE_THROW(Dune::InvalidStateException, "Invalid component index " << compIdx); + } + } + + /*! + * \brief Given all mole fractions in a phase, return the phase + * density [kg/m^3]. + */ + template + static Scalar phaseDensity(int phaseIdx, + Scalar temperature, + Scalar pressure, + const FluidState &fluidState) + { + if (phaseIdx == 0) + return 1.03e-9; // in [kg /microm^3] + // Umwandlung in Pascal notwendig -> density*10^6 + // will man wieder mit kg/m^3 rechnen muss g auch wieder geƤndert werden + + DUNE_THROW(Dune::InvalidStateException, "Invalid phase index " << phaseIdx); + } + + /*! + * \brief Given all mole fractions in a phase, return the phase + * density [kg/m^3]. + */ + template + static Scalar molarDensity(int phaseIdx, + Scalar temperature, + Scalar pressure, + const FluidState &fluidState) + { + if (phaseIdx == 0) + return 3.035e-16; // in [mol/microm^3] = 303.5 mol/m^3 + + DUNE_THROW(Dune::InvalidStateException, "Invalid phase index " << phaseIdx); + } + + /*! + * \brief Return the viscosity of a phase. + */ + template + static Scalar phaseViscosity(int phaseIdx, + Scalar temperature, + Scalar pressure, + const FluidState &fluidState) + { + if (phaseIdx == 0) + return 0.00069152; // in [Pas] + + DUNE_THROW(Dune::InvalidStateException, "Invalid phase index " << phaseIdx); + } + + /*! + * \brief Given all mole fractions, return the diffusion + * coefficent of a component in a phase. + */ + template + static Scalar diffCoeff(int phaseIdx, + int compIIdx, + int compJIdx, + Scalar temperature, + Scalar pressure, + const FluidState &fluidState) + { + return 0.088786695; // in [microm^2/s] = 3.7378e-12 m^2/s + } +}; + +} // end namepace + +#endif diff --git a/dumux/material/idealgas.hh b/dumux/material/idealgas.hh index 5592c17b5..9bc012277 100644 --- a/dumux/material/idealgas.hh +++ b/dumux/material/idealgas.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: idealgas.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2009 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/settablephase.hh b/dumux/material/settablephase.hh index 621ce608c..29320b578 100644 --- a/dumux/material/settablephase.hh +++ b/dumux/material/settablephase.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: settablephase.hh 3777 2010-06-24 06:46:46Z bernd $ /***************************************************************************** * Copyright (C) 2010 by Andreas Lauser * Institute of Hydraulic Engineering * diff --git a/dumux/material/spatialparameters/boxspatialparameters.hh b/dumux/material/spatialparameters/boxspatialparameters.hh index 93517a16d..f15cdd6b3 100644 --- a/dumux/material/spatialparameters/boxspatialparameters.hh +++ b/dumux/material/spatialparameters/boxspatialparameters.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id: boxspatialparameters.hh 3783 2010-06-24 11:33:53Z bernd $ /***************************************************************************** * Copyright (C) 2010 by Andreas Lauser * * Institute of Hydraulic Engineering * diff --git a/dune/dumux b/dune/dumux new file mode 120000 index 000000000..b644a6782 --- /dev/null +++ b/dune/dumux @@ -0,0 +1 @@ +../dumux \ No newline at end of file