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("PLYVISC"), string("PLYROCK"), string("PLYADS"),
string("PLYMAX"), string("TLMIXPAR"), string("WPOLYMER"),
string("PLYSHEAR"),
string("GRUPTREE"), string("GCONINJE"), string("GCONPROD"),
string("WGRUPCON"), string("ENDSCALE"), string("SCALECRS"),
string("ENPTVD"), string("ENKRVD"),

View File

@ -195,6 +195,7 @@ public:
SPECIAL_FIELD(PLYROCK)
SPECIAL_FIELD(PLYADS)
SPECIAL_FIELD(PLYMAX)
SPECIAL_FIELD(PLYSHEAR)
SPECIAL_FIELD(TLMIXPAR)
SPECIAL_FIELD(WPOLYMER)
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
{
std::vector<double> tlmixpar_;