1.1.0
CCC
 
RuleShadow Class Reference

#include <RuleShadow.hpp>

Inheritance diagram for RuleShadow:
Rule AStringable ASerializable

Public Member Functions

 RuleShadow ()
 
 RuleShadow (double slope, double sh_dsup, double sh_down, const VectorDouble &shift)
 
 RuleShadow (const RuleShadow &r)
 
RuleShadowoperator= (const RuleShadow &r)
 
virtual ~RuleShadow ()
 
String displaySpecific () const override
 
int particularities (Db *db, const Db *dbprop, Model *model, int flag_grid_check, int flag_stat) const override
 
int gaus2facData (PropDef *propdef, Db *dbin, Db *dbout, int *flag_used, int ipgs, int isimu, int nbsimu) 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
 
double getShDown () const
 
double getShDsup () const
 
double getSlope () const
 
double getDMax () const
 
double getTgte () const
 
double getIncr () 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 bool checkModel (const Model *model, int nvar=0) const
 
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
 

Additional Inherited Members

- 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

RuleShadow::RuleShadow ( )
RuleShadow::RuleShadow ( double  slope,
double  sh_dsup,
double  sh_down,
const VectorDouble shift 
)

Defining the Lithotype Rule in the case of Shadow

Parameters
slopeSlope definition
sh_dsupMaximum threshold
sh_downMinimum threshold
shiftShift orientation
RuleShadow::RuleShadow ( const RuleShadow r)
RuleShadow::~RuleShadow ( )
virtual

Member Function Documentation

String RuleShadow::displaySpecific ( ) const
overridevirtual

Reimplemented from Rule.

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

Set the bounds and possibly add replicates (Shadow)

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.

int RuleShadow::gaus2facData ( PropDef propdef,
Db dbin,
Db dbout,
int *  flag_used,
int  ipgs,
int  isimu,
int  nbsimu 
)
overridevirtual

Combine the underlying GRF into a facies value at data points (Shadow)

Returns
Error return code
Parameters
[in]propdefProps structure
[in]dbinDb input 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::GAUSFAC are mandatory
Attributes ELoc::FACIES are mandatory

Reimplemented from Rule.

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

Combine the underlying GRF into a facies value (Shadow case)

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.

double RuleShadow::getDMax ( ) const
inline
double RuleShadow::getIncr ( ) const
inline
double RuleShadow::getShDown ( ) const
inline
double RuleShadow::getShDsup ( ) const
inline
const VectorDouble& RuleShadow::getShift ( ) const
inline
double RuleShadow::getShift ( int  idim) const
inline
double RuleShadow::getSlope ( ) const
inline
double RuleShadow::getTgte ( ) const
inline
RuleShadow & RuleShadow::operator= ( const RuleShadow r)
int RuleShadow::particularities ( Db db,
const Db dbprop,
Model model,
int  flag_grid_check,
int  flag_stat 
) const
overridevirtual

Define the particularities of the PGS model (for Shadow)

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.


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