Read keyword PLYSHEAR.

This commit is contained in:
Liu Ming 2014-03-14 15:34:38 +08:00
parent 2a2d6264ed
commit 5fff1d25dc
3 changed files with 38 additions and 0 deletions

View File

@ -126,6 +126,7 @@ namespace EclipseKeywords
string("EQUIL"), string("PVCDO"), string("TSTEP"), string("EQUIL"), string("PVCDO"), string("TSTEP"),
string("PLYVISC"), string("PLYROCK"), string("PLYADS"), string("PLYVISC"), string("PLYROCK"), string("PLYADS"),
string("PLYMAX"), string("TLMIXPAR"), string("WPOLYMER"), string("PLYMAX"), string("TLMIXPAR"), string("WPOLYMER"),
string("PLYSHEAR"),
string("GRUPTREE"), string("GCONINJE"), string("GCONPROD"), string("GRUPTREE"), string("GCONINJE"), string("GCONPROD"),
string("WGRUPCON"), string("ENDSCALE"), string("SCALECRS"), string("WGRUPCON"), string("ENDSCALE"), string("SCALECRS"),
string("ENPTVD"), string("ENKRVD"), string("ENPTVD"), string("ENKRVD"),

View File

@ -195,6 +195,7 @@ public:
SPECIAL_FIELD(PLYROCK) SPECIAL_FIELD(PLYROCK)
SPECIAL_FIELD(PLYADS) SPECIAL_FIELD(PLYADS)
SPECIAL_FIELD(PLYMAX) SPECIAL_FIELD(PLYMAX)
SPECIAL_FIELD(PLYSHEAR)
SPECIAL_FIELD(TLMIXPAR) SPECIAL_FIELD(TLMIXPAR)
SPECIAL_FIELD(WPOLYMER) SPECIAL_FIELD(WPOLYMER)
SPECIAL_FIELD(GRUPTREE) SPECIAL_FIELD(GRUPTREE)

View File

@ -2094,6 +2094,42 @@ struct PLYMAX : public SpecialBase
}; };
struct PLYSHEAR : public SpecialBase
{
std::vector<double> water_velocity_;
std::vector<double> vrf_;
virtual std::string name() const {return std::string("PLYSHEAR");}
virtual void read(std::istream& is)
{
// Note. This function assumes that NTSFUN = 1, and reads only one table.
std::vector<double> plyshear;
readVectorData(is, plyshear);
for (int i=0; i<(int)plyshear.size(); i+=2) {
water_velocity_.push_back(plyshear[i]);
vrf_.push_back(plyshear[i+1]);
}
}
virtual void write(std::ostream& os) const
{
os << name() << '\n';
for (int i=0; i<(int)water_velocity_.size(); ++i) {
os << water_velocity_[i] << " " << vrf_[i] << '\n';
}
os << '\n';
}
virtual void convertToSI(const EclipseUnits& units)
{
for (int i=0; i<(int)water_velocity_.size(); ++i) {
water_velocity_[i] *= units.length / units.time;
}
}
};
struct TLMIXPAR : public SpecialBase struct TLMIXPAR : public SpecialBase
{ {
std::vector<double> tlmixpar_; std::vector<double> tlmixpar_;