#include <Rule.hpp>
Public Member Functions | |
Rule (double rho=0.) | |
Rule (const Rule &m) | |
Rule & | operator= (const Rule &m) |
virtual | ~Rule () |
String | toString (const AStringFormat *strfmt=nullptr) const override |
Id | resetFromNames (const VectorString &nodnames, double rho=0.) |
Id | resetFromCodes (const 1 &nodes, double rho=0.) |
Id | resetFromNumericalCoding (const 1 &n_type, const 1 &n_facs, double rho=0.) |
Id | resetFromFaciesCount (Id nfacies, double rho=0.) |
virtual String | displaySpecific () const |
virtual Id | particularities (Db *db, const Db *dbprop, Model *model, Id flag_grid_check, Id flag_stat) const |
virtual bool | checkModel (const Model *model, Id nvar=0) const |
virtual Id | gaus2facData (PropDef *propdef, Db *dbin, Db *dbout, Id *flag_used, Id ipgs, Id isimu, Id nbsimu) |
virtual Id | gaus2facResult (PropDef *propdef, Db *dbout, Id *flag_used, Id ipgs, Id isimu, Id nbsimu) const |
virtual Id | evaluateBounds (PropDef *propdef, Db *dbin, Db *dbout, Id isimu, Id igrf, Id ipgs, Id nbsimu) const |
Id | getFlagProp () const |
const ERule & | getModeRule () const |
double | getRho () const |
const Node * | getMainNode () const |
void | setFlagProp (Id flagProp) |
void | setRho (double rho) const |
void | setModeRule (const ERule &modeRule) |
TODO : Check if mutable is really necessary. | |
Id | setProportions (const 1 &proportions=1()) const |
Id | statistics (Id verbose, Id *node_tot, Id *nfac_tot, Id *nmax_tot, Id *ny1_tot, Id *ny2_tot, double *prop_tot) const |
Id | getNFacies () const |
Id | getNGRF () const |
Id | getNY1 () const |
Id | getNY2 () const |
bool | isYUsed (Id igrf) const |
whichGRFUsed () const | |
double | getProportion (Id facies) |
std::array< double, 4 > | getThresh (Id facies) const |
getThreshFromRectangle (Id rect, Id *facies) | |
Id | getFaciesFromGaussian (double y1, double y2) const |
getNodes () const | |
void | updateShift () const |
![]() | |
AStringable () | |
AStringable (const AStringable &r) | |
AStringable & | operator= (const AStringable &r) |
virtual | ~AStringable () |
virtual void | display (const AStringFormat *strfmt=nullptr) const final |
virtual void | display (Id level) const final |
![]() | |
ASerializable () | |
ASerializable (const ASerializable &r) | |
ASerializable & | operator= (const ASerializable &r) |
ASerializable (ASerializable &&r) noexcept | |
ASerializable & | operator= (ASerializable &&r) noexcept |
virtual | ~ASerializable () |
bool | dumpToNF (const String &NFFilename, const EFormatNF &format=EFormatNF::fromKey("DEFAULT"), bool verbose=false) const |
Dump the contents of an object into an Output File using a given Output NF Format. | |
void | setDefaultFormatNF (const EFormatNF &format) |
Static Public Member Functions | |
static Rule * | create (double rho=0.) |
static Rule * | createFromNF (const String &NFFilename, bool verbose=true) |
static Rule * | createFromNames (const VectorString &nodnames, double rho=0.) |
static Rule * | createFromCodes (const 1 &nodes, double rho=0.) |
static Rule * | createFromNumericalCoding (const 1 &n_type, const 1 &n_facs, double rho=0.) |
static Rule * | createFromFaciesCount (Id nfacies, double rho=0.) |
![]() | |
static String | buildFileName (Id status, const String &filename, bool ensureDirExist=false) |
static String | getFileIdentity (const String &filename, bool verbose=false) |
static void | setPrefixName (const String &prefixName) |
static void | unsetPrefixName () |
static const String & | getPrefixName () |
gstlrn::Rule::Rule | ( | double | rho = 0. | ) |
gstlrn::Rule::Rule | ( | const Rule & | m | ) |
|
virtual |
Reimplemented in gstlrn::RuleShift.
|
static |
|
static |
|
static |
|
static |
|
virtual |
Reimplemented in gstlrn::RuleShadow, and gstlrn::RuleShift.
|
virtual |
Set the bounds and possibly add replicates
[in] | propdef | PropDef structure |
[in] | dbin | Db structure |
[in] | dbout | Db grid structure |
[in] | isimu | Rank of the simulation (if EProcessOper::CONDITIONAL) |
[in] | igrf | Rank of the GRF |
[in] | ipgs | Rank of the GS |
[in] | nbsimu | Number of simulations (if EProcessOper::CONDITIONAL) |
Reimplemented in gstlrn::RuleShadow, and gstlrn::RuleShift.
|
virtual |
Combine the underlying GRF into a facies value at data points
[in] | propdef | Props structure |
[in] | dbin | Db input structure |
[in] | dbout | Db output structure |
[in] | flag_used | 1 if the gaussian is used; 0 otherwise |
[in] | ipgs | Rank of the PGS |
[in] | isimu | Rank of the simulation |
[in] | nbsimu | Number of simulations |
Reimplemented in gstlrn::RuleShadow.
|
virtual |
Combine the underlying GRF into a facies value
[in] | propdef | Props structure |
[in] | dbout | Db output structure |
[in] | flag_used | 1 if the gaussian is used; 0 otherwise |
[in] | ipgs | Rank of the PGS |
[in] | isimu | Rank of the simulation |
[in] | nbsimu | Number of simulations |
Reimplemented in gstlrn::RuleShadow, and gstlrn::RuleShift.
Id gstlrn::Rule::getFaciesFromGaussian | ( | double | y1, |
double | y2 | ||
) | const |
Convert the two underlying GRFs into facies
[in] | y1 | Value of the first underlying GRF |
[in] | y2 | Value of the second underlying GRF |
|
inline |
|
inline |
|
inline |
Id gstlrn::Rule::getNFacies | ( | ) | const |
Id gstlrn::Rule::getNGRF | ( | ) | const |
gstlrn::Rule::getNodes | ( | ) | const |
Id gstlrn::Rule::getNY1 | ( | ) | const |
Id gstlrn::Rule::getNY2 | ( | ) | const |
double gstlrn::Rule::getProportion | ( | Id | facies | ) |
Returns the proportion of a given facies
facies | Facies rank (starting from 1) |
|
inline |
std::array< double, 4 > gstlrn::Rule::getThresh | ( | Id | facies | ) | const |
Return the vector of bounds for a given facies
facies | Rank of the target facies (starting from 1) |
bool gstlrn::Rule::isYUsed | ( | Id | igrf | ) | const |
|
virtual |
Define the particularities of the PGS model
[in] | db | Db structure |
[in] | dbprop | Db structure used for proportions |
[in] | model | Model structure (only used for shift option) |
[in] | flag_grid_check | 1 if grid is compulsory; 0 otherwise (only for SHIFT) |
[in] | flag_stat | 1 for stationary; 0 otherwise |
Reimplemented in gstlrn::RuleShadow, and gstlrn::RuleShift.
Id gstlrn::Rule::resetFromCodes | ( | const 1 & | nodes, |
double | rho = 0. |
||
) |
Id gstlrn::Rule::resetFromNames | ( | const VectorString & | nodnames, |
double | rho = 0. |
||
) |
Id gstlrn::Rule::resetFromNumericalCoding | ( | const 1 & | n_type, |
const 1 & | n_facs, | ||
double | rho = 0. |
||
) |
This entry is specific for the Rule inference procedure
n_type | Vector of items: 0 for Facies, 1 for G1 threshold; 2 for G2 threshold |
n_facs | Vector of facies: XXX for Facies, 0 for thresholds |
rho | GRFs correlation coefficient |
|
inline |
|
inline |
TODO : Check if mutable is really necessary.
Id gstlrn::Rule::setProportions | ( | const 1 & | proportions = 1() | ) | const |
Define constant proportions
proportions | The vector of constant proportions. It should be dimensioned to the number of facies. If absent, all proportions are considered equal. |
|
inline |
Id gstlrn::Rule::statistics | ( | Id | verbose, |
Id * | node_tot, | ||
Id * | nfac_tot, | ||
Id * | nmax_tot, | ||
Id * | ny1_tot, | ||
Id * | ny2_tot, | ||
double * | prop_tot | ||
) | const |
Calculates the statistics from the Lithotype Rule
[in] | verbose | 1 for a verbose output; 0 otherwise |
[out] | node_tot | Number of nodes |
[out] | nfac_tot | Number of facies |
[out] | nmax_tot | Number of (different) facies |
[out] | ny1_tot | Number of thresholds for Y1 |
[out] | ny2_tot | Number of thresholds for Y2 |
[out] | prop_tot | Total proportion |
|
overridevirtual |
Reimplemented from gstlrn::AStringable.
void gstlrn::Rule::updateShift | ( | ) | const |
gstlrn::Rule::whichGRFUsed | ( | ) | const |