00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00027 #ifndef OPM_BROOKS_COREY_PARAMS_HPP
00028 #define OPM_BROOKS_COREY_PARAMS_HPP
00029
00030 #include <opm/common/Valgrind.hpp>
00031 #include <opm/material/common/EnsureFinalized.hpp>
00032
00033 #include <cassert>
00034
00035 namespace Opm {
00036
00045 template <class TraitsT>
00046 class BrooksCoreyParams : public EnsureFinalized
00047 {
00048 typedef typename TraitsT::Scalar Scalar;
00049 public:
00050 using EnsureFinalized :: finalize;
00051
00052 typedef TraitsT Traits;
00053
00054 BrooksCoreyParams()
00055 {
00056 Valgrind::SetUndefined(*this);
00057 }
00058
00059 BrooksCoreyParams(Scalar ePressure, Scalar shapeParam)
00060 : entryPressure_(ePressure), lambda_(shapeParam)
00061 {
00062 finalize();
00063 }
00064
00068 Scalar entryPressure() const
00069 { EnsureFinalized::check(); return entryPressure_; }
00070
00074 void setEntryPressure(Scalar v)
00075 { entryPressure_ = v; }
00076
00077
00081 Scalar lambda() const
00082 { EnsureFinalized::check(); return lambda_; }
00083
00087 void setLambda(Scalar v)
00088 { lambda_ = v; }
00089
00090 private:
00091 Scalar entryPressure_;
00092 Scalar lambda_;
00093 };
00094 }
00095
00096 #endif