1.3.1
CCC
 
RuleShift Class Reference

#include <RuleShift.hpp>

Inheritance diagram for RuleShift:
Rule AStringable ASerializable

Public Member Functions

 RuleShift ()
 
 RuleShift (const RuleShift &r)
 
RuleShiftoperator= (const RuleShift &r)
 
virtual ~RuleShift ()
 
String displaySpecific () const override
 
int resetFromNodes (const VectorInt &nodes, const VectorDouble &shift)
 
int resetFromNames (const VectorString &nodnames, const VectorDouble &shift)
 
int resetFromFaciesCount (int nfacies, const VectorDouble &shift)
 
int resetFromNumericalCoding (const VectorInt &n_type, const VectorInt &n_facs, const VectorDouble &shift)
 
int particularities (Db *db, const Db *dbprop, Model *model, int flag_grid_check, int flag_stat) const override
 
int gaus2facResult (PropDef *propdef, Db *dbout, int *flag_used, int ipgs, int isimu, int nbsimu) const override
 
int evaluateBounds (PropDef *propdef, Db *dbin, Db *dbout, int isimu, int igrf, int ipgs, int nbsimu) const override
 
bool checkModel (const Model *model, int nvar=0) const override
 
double getShDown () const
 
double getShDsup () const
 
double getSlope () const
 
const VectorDoublegetShift () const
 
double getShift (int idim) const
 
- Public Member Functions inherited from Rule
 Rule (double rho=0.)
 
 Rule (const Rule &r)
 
Ruleoperator= (const Rule &r)
 
virtual ~Rule ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 
int resetFromNames (const VectorString &nodnames, double rho=0.)
 
int resetFromCodes (const VectorInt &nodes, double rho=0.)
 
int resetFromNumericalCoding (const VectorInt &n_type, const VectorInt &n_facs, double rho=0.)
 
int resetFromFaciesCount (int nfacies, double rho=0.)
 
virtual int gaus2facData (PropDef *propdef, Db *dbin, Db *dbout, int *flag_used, int ipgs, int isimu, int nbsimu)
 
int getFlagProp () const
 
const ERule & getModeRule () const
 
double getRho () const
 
const NodegetMainNode () const
 
void setFlagProp (int flagProp)
 
void setRho (double rho) const
 
void setModeRule (const ERule &modeRule)
 TODO : Check if mutable is really necessary. More...
 
int setProportions (const VectorDouble &proportions=VectorDouble()) const
 
int statistics (int verbose, int *node_tot, int *nfac_tot, int *nmax_tot, int *ny1_tot, int *ny2_tot, double *prop_tot) const
 
int getFaciesNumber () const
 
int getGRFNumber () const
 
int getY1Number () const
 
int getY2Number () const
 
bool isYUsed (int igrf) const
 
VectorInt whichGRFUsed () const
 
double getProportion (int facies)
 
VectorDouble getThresh (int facies) const
 
VectorDouble getThreshFromRectangle (int rect, int *facies)
 
int getFaciesFromGaussian (double y1, double y2) const
 
void updateShift () const
 
- Public Member Functions inherited from AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (int level) const final
 
- Public Member Functions inherited from ASerializable
 ASerializable ()
 
 ASerializable (const ASerializable &r)
 
ASerializableoperator= (const ASerializable &r)
 
virtual ~ASerializable ()
 
bool deserialize (std::istream &is, bool verbose=true)
 
bool serialize (std::ostream &os, bool verbose=true) const
 
bool dumpToNF (const String &neutralFilename, bool verbose=false) const
 

Static Public Member Functions

static RuleShiftcreateFromNodes (const VectorInt &nodes, const VectorDouble &shift)
 
static RuleShiftcreateFromNames (const VectorString &nodnames, const VectorDouble &shift)
 
static RuleShiftcreateFromFaciesCount (int nfacies, const VectorDouble &shift)
 
static RuleShiftcreateFromNumericalCoding (const VectorInt &n_type, const VectorInt &n_facs, const VectorDouble &shift)
 
- Static Public Member Functions inherited from Rule
static Rulecreate (double rho=0.)
 
static RulecreateFromNF (const String &neutralFilename, bool verbose=true)
 
static RulecreateFromNames (const VectorString &nodnames, double rho=0.)
 
static RulecreateFromCodes (const VectorInt &nodes, double rho=0.)
 
static RulecreateFromNumericalCoding (const VectorInt &n_type, const VectorInt &n_facs, double rho=0.)
 
static RulecreateFromFaciesCount (int nfacies, double rho=0.)
 
- Static Public Member Functions inherited from ASerializable
static String buildFileName (int status, const String &filename, bool ensureDirExist=false)
 
static String getHomeDirectory (const String &sub="")
 
static String getWorkingDirectory ()
 
static String getTestData (const String &subdir, const String &filename)
 
static String getFileIdentity (const String &filename, bool verbose=false)
 
static void setContainerName (bool useDefault, const String &containerName="", bool verbose=false)
 
static void unsetContainerName ()
 
static void setPrefixName (const String &prefixName)
 
static void unsetPrefixName ()
 
static const StringgetContainerName ()
 
static const StringgetPrefixName ()
 
static bool createDirectory (const String &dir)
 
static String getExecDirectory ()
 
static String getDirectory (const String &path)
 

Constructor & Destructor Documentation

◆ RuleShift() [1/2]

RuleShift::RuleShift ( )

◆ RuleShift() [2/2]

RuleShift::RuleShift ( const RuleShift r)

◆ ~RuleShift()

RuleShift::~RuleShift ( )
virtual

Member Function Documentation

◆ checkModel()

bool RuleShift::checkModel ( const Model model,
int  nvar = 0 
) const
overridevirtual

Reimplemented from Rule.

◆ createFromFaciesCount()

RuleShift * RuleShift::createFromFaciesCount ( int  nfacies,
const VectorDouble shift 
)
static

◆ createFromNames()

RuleShift * RuleShift::createFromNames ( const VectorString nodnames,
const VectorDouble shift 
)
static

◆ createFromNodes()

RuleShift * RuleShift::createFromNodes ( const VectorInt nodes,
const VectorDouble shift 
)
static

◆ createFromNumericalCoding()

RuleShift * RuleShift::createFromNumericalCoding ( const VectorInt n_type,
const VectorInt n_facs,
const VectorDouble shift 
)
static

◆ displaySpecific()

String RuleShift::displaySpecific ( ) const
overridevirtual

Reimplemented from Rule.

◆ evaluateBounds()

int RuleShift::evaluateBounds ( PropDef propdef,
Db dbin,
Db dbout,
int  isimu,
int  igrf,
int  ipgs,
int  nbsimu 
) const
overridevirtual

Set the bounds and possibly add replicates

Returns
Error return code
Parameters
[in]propdefPropDef structure
[in]dbinDb structure
[in]dboutDb grid structure
[in]isimuRank of the simulation (if EProcessOper::CONDITIONAL)
[in]igrfRank of the GRF
[in]ipgsRank of the GS
[in]nbsimuNumber of simulations (if EProcessOper::CONDITIONAL)

Reimplemented from Rule.

◆ gaus2facResult()

int RuleShift::gaus2facResult ( PropDef propdef,
Db dbout,
int *  flag_used,
int  ipgs,
int  isimu,
int  nbsimu 
) const
overridevirtual

Combine the underlying GRF into a facies value

Returns
Error return code
Parameters
[in]propdefProps structure
[in]dboutDb output structure
[in]flag_used1 if the gaussian is used; 0 otherwise
[in]ipgsRank of the PGS
[in]isimuRank of the simulation
[in]nbsimuNumber of simulations
Remarks
Attributes ELoc::FACIES and ELoc::SIMU are mandatory

Reimplemented from Rule.

◆ getShDown()

double RuleShift::getShDown ( ) const
inline

◆ getShDsup()

double RuleShift::getShDsup ( ) const
inline

◆ getShift() [1/2]

const VectorDouble& RuleShift::getShift ( ) const
inline

◆ getShift() [2/2]

double RuleShift::getShift ( int  idim) const
inline

◆ getSlope()

double RuleShift::getSlope ( ) const
inline

◆ operator=()

RuleShift & RuleShift::operator= ( const RuleShift r)

◆ particularities()

int RuleShift::particularities ( Db db,
const Db dbprop,
Model model,
int  flag_grid_check,
int  flag_stat 
) const
overridevirtual

Define the particularities of the PGS model

Returns
Error return code
Parameters
[in]dbDb structure
[in]dbpropDb structure used for proportions
[in]modelModel structure (only used for shift option)
[in]flag_grid_check1 if grid is compulsory; 0 otherwise (only for SHIFT)
[in]flag_stat1 for stationary; 0 otherwise

Reimplemented from Rule.

◆ resetFromFaciesCount()

int RuleShift::resetFromFaciesCount ( int  nfacies,
const VectorDouble shift 
)

Definition of the Lithotype RuleShift

Parameters
nfaciesNumber of facies
shiftVector defining the shift

◆ resetFromNames()

int RuleShift::resetFromNames ( const VectorString nodnames,
const VectorDouble shift 
)

◆ resetFromNodes()

int RuleShift::resetFromNodes ( const VectorInt nodes,
const VectorDouble shift 
)

Definition of the Lithotype RuleShift

Parameters
nodesList of "integer" nodes (should only include "S", no "T")
shiftVector defining the Shift

◆ resetFromNumericalCoding()

int RuleShift::resetFromNumericalCoding ( const VectorInt n_type,
const VectorInt n_facs,
const VectorDouble shift 
)

The documentation for this class was generated from the following files: