From acc88aef8ba0a942a835d2a57214c19c08063d64 Mon Sep 17 00:00:00 2001 From: Wenqing Wang <wenqing.wang@ufz.de> Date: Tue, 1 Nov 2016 16:30:30 +0100 Subject: [PATCH] [Unsat] Added classes for capillary pressure model --- .../CapillaryPressureSaturation.h | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 MaterialLib/PorousMedium/UnsaturatedProperty/CapillaryPressure/CapillaryPressureSaturation.h diff --git a/MaterialLib/PorousMedium/UnsaturatedProperty/CapillaryPressure/CapillaryPressureSaturation.h b/MaterialLib/PorousMedium/UnsaturatedProperty/CapillaryPressure/CapillaryPressureSaturation.h new file mode 100644 index 00000000000..1b4ee00e1dd --- /dev/null +++ b/MaterialLib/PorousMedium/UnsaturatedProperty/CapillaryPressure/CapillaryPressureSaturation.h @@ -0,0 +1,43 @@ +/** + * \copyright + * Copyright (c) 2012-2016, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + * \file: CapillaryPressureSaturation.h + * + */ + +#ifndef OGS_CAPILLARY_PRESSURE_SATURATION_H +#define OGS_CAPILLARY_PRESSURE_SATURATION_H + +#include <string> + +namespace MaterialLib +{ +namespace PorousMedium +{ +/// Base class of capillary pressure models +class CapillaryPressureSaturation +{ +public: + virtual ~CapillaryPressureSaturation() = default; + + /// Get model name. + virtual std::string getName() const = 0; + + /// Get capillary pressure. + virtual double getCapillaryPressure(const double saturation) const = 0; + + /// Get capillary pressure. + virtual double getSturation(const double capillary_ressure) const = 0; + + /// Get the derivative of the capillary pressure with respect to saturation + virtual double getdPcdS(const double saturation) const = 0; +}; + +} // end namespace +} // end namespace + +#endif /* OGS_CAPILLARY_PRESSURE_SATURATION_H */ -- GitLab