gstlearn
1.0.0
CCC
|
#include <CalcSimuEden.hpp>
Public Member Functions | |
CalcSimuEden (int nfacies=0, int nfluids=0, int niter=1, int nbsimu=0, int seed=4324324, bool verbose=false) | |
CalcSimuEden (const CalcSimuEden &r)=delete | |
CalcSimuEden & | operator= (const CalcSimuEden &r)=delete |
virtual | ~CalcSimuEden () |
virtual String | toString (const AStringFormat *strfmt=nullptr) const override |
Interface to AStringable. More... | |
int | isAlreadyFilled (int ipos) const override |
Interface to ISkinFunctions. More... | |
int | isToBeFilled (int ipos) const override |
double | getWeight (int ipos, int idir) const override |
void | setIndFacies (int indFacies) |
void | setIndFluid (int indFluid) |
void | setIndPerm (int indPerm) |
void | setIndPoro (int indPoro) |
void | setSpeeds (const VectorInt &speeds) |
void | setNumberMax (double numberMax) |
void | setShowFluid (bool showFluid) |
void | setVolumeMax (double volumeMax) |
Public Member Functions inherited from ACalcSimulation | |
ACalcSimulation (int nbimu, int seed=4324324) | |
ACalcSimulation (const ACalcSimulation &r)=delete | |
ACalcSimulation & | operator= (const ACalcSimulation &r)=delete |
virtual | ~ACalcSimulation () |
int | getSeed () const |
int | getNbSimu () const |
void | setSeed (int seed) |
void | setNbSimu (int nbsimu) |
Public Member Functions inherited from ACalcInterpolator | |
ACalcInterpolator () | |
ACalcInterpolator (const ACalcInterpolator &r)=delete | |
ACalcInterpolator & | operator= (const ACalcInterpolator &r)=delete |
virtual | ~ACalcInterpolator () |
void | setModel (Model *model) |
void | setNeigh (ANeigh *neigh) |
Model * | getModel () const |
ANeigh * | getNeigh () const |
bool | hasModel (bool verbose=true) const |
bool | hasNeigh (bool verbose=true) const |
Public Member Functions inherited from ACalcDbToDb | |
ACalcDbToDb (bool mustShareSameSpaceDimension=true) | |
ACalcDbToDb (const ACalcDbToDb &r)=delete | |
ACalcDbToDb & | operator= (const ACalcDbToDb &r)=delete |
virtual | ~ACalcDbToDb () |
void | setDbin (Db *dbin) |
void | setDbout (Db *dbout) |
void | setNamingConvention (const NamingConvention &namconv) |
void | setMustShareSpaceDimension (bool mustShareSpaceDimension) |
Db * | getDbin () const |
Db * | getDbout () const |
DbGrid * | getGridin () const |
DbGrid * | getGridout () const |
bool | hasDbin (bool verbose=true) const |
bool | hasDbout (bool verbose=true) const |
bool | isGridIn (bool verbose=true) const |
bool | isGridOut (bool verbose=true) const |
Public Member Functions inherited from ACalculator | |
ACalculator () | |
ACalculator (const ACalculator &r)=delete | |
ACalculator & | operator= (const ACalculator &r)=delete |
virtual | ~ACalculator () |
bool | run () |
Public Member Functions inherited from AStringable | |
AStringable () | |
AStringable (const AStringable &r) | |
AStringable & | operator= (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 ISkinFunctions | |
ISkinFunctions () | |
virtual | ~ISkinFunctions () |
Private Member Functions | |
virtual bool | _check () override |
virtual bool | _preprocess () override |
virtual bool | _run () override |
virtual bool | _postprocess () override |
virtual void | _rollback () override |
bool | _simulate () |
bool | _fluid_check (void) |
int | _getWT (int ifacies, int ifluid, int perm, int idir) |
int | _getFACIES (int iech) const |
int | _getFLUID (int iech) const |
int | _getFLUID_OLD (int iech) const |
int | _getPERM (int iech) const |
double | _getDATE (int iech) |
double | _getPORO (int iech) const |
void | _setFLUID (int iech, int ifluid) |
void | _setFACIES (int iech, int ifacies) |
void | _setFACIES_CORK (int iech) |
void | _setDATE (int iech, int idate) |
void | _printParams (bool verbose) |
void | _statsDefine (void) |
void | _statsReset () |
void | _statsInit () |
void | _setStatNumber (int ifacies, int ifluid, int value) |
void | _setStatVolume (int ifacies, int ifluid, double value) |
void | _addStatNumber (int ifacies, int ifluid, int value) |
void | _addStatVolume (int ifacies, int ifluid, double value) |
void | _checkInconsistency (bool verbose) |
int | _getStatNumber (int ifacies, int ifluid) const |
double | _getStatVolume (int ifacies, int ifluid) const |
int | _checkMax (double number_max, double volume_max) |
int | _fluidModify (Skin *skin, int ipos, int *ref_fluid_loc) |
void | _statsPrint (const char *title) |
void | _statsEmpty (const char *title) |
void | _calculateCumul (void) |
void | _updateResults (int reset_facies, int show_fluid) |
void | _normalizeCumul (int niter) |
int | _countAlreadyFilled () const |
int | _countIsToBeFilled () const |
Private Attributes | |
bool | _verbose |
bool | _showFluid |
1 for modifying the value of the cells to show More... | |
int | _iptrStatFluid |
int | _iptrStatCork |
int | _iptrFluid |
int | _iptrDate |
int | _niter |
int | _nfacies |
Number of iterations. More... | |
int | _nfluids |
number of facies (facies 0 excluded) More... | |
VectorInt | _speeds |
number of fluids More... | |
double | _numberMax |
array containing the travel speeds More... | |
double | _volumeMax |
Maximum count of cells invaded (or TEST) More... | |
int | _indFacies |
Maximum volume invaded (or TEST) More... | |
int | _indFluid |
Rank of the variable containing the Facies. More... | |
int | _indPerm |
Rank of the variable containing the Fluid. More... | |
int | _indPoro |
Rank of the variable containing the Permeability. More... | |
int | _indDate |
Rank of the variable containing the Porosity. More... | |
int | _nxyz |
int | _ncork |
VectorInt | _numbers |
VectorDouble | _volumes |
Additional Inherited Members | |
Protected Member Functions inherited from ACalcInterpolator | |
virtual int | _getNDim () const override |
virtual int | _getNVar () const override |
virtual int | _getNCova () const |
int | _centerDataToGrid (DbGrid *dbgrid) |
Protected Member Functions inherited from ACalcDbToDb | |
int | _addVariableDb (int whichDb, int status, const ELoc &locatorType, int locatorIndex=0, int number=1, double valinit=0.) |
void | _renameVariable (int whichDb, const VectorString &names, const ELoc &locatorType, int nvar, int iptr, const String &name, int count, bool flagSetLocator=true, int shift=0) |
void | _storeInVariableList (int whichDb, int status, const VectorInt &iuids) |
int | _expandInformation (int mode, const ELoc &locatorType) |
void | _cleanVariableDb (int status) |
Db * | _whichDb (int whichDb) |
String | _identifyVariable (int iuid) const |
Multivariate multiphase propagation into a set of components constrained by initial conditions and fluid densities
CalcSimuEden::CalcSimuEden | ( | int | nfacies = 0 , |
int | nfluids = 0 , |
||
int | niter = 1 , |
||
int | nbsimu = 0 , |
||
int | seed = 4324324 , |
||
bool | verbose = false |
||
) |
|
delete |
|
virtual |
|
private |
|
private |
|
private |
Calculate the statistics on Fluids and Corks
|
overrideprivatevirtual |
Reimplemented from ACalcSimulation.
|
private |
Initialize and check Facies & Fluid matrices
|
private |
Check that the Maximum quantities have been reached
|
private |
|
private |
|
private |
Check the validity of the array Speed
|
private |
Calculate the new value for the fluid of the target cell
[in] | skin | Pointer to the skin |
[in] | ipos | Cell location |
[out] | ref_fluid_loc | Current fluid value for the target cell |
|
private |
Get the Date value for a grid node
[in] | iech | Rank of the sample |
|
private |
Get the Facies value for a grid node
[in] | iech | Rank of the sample |
|
private |
Get the Fluid value for a grid node
[in] | iech | Rank of the grid node |
|
private |
Get the Fluid value for a grid node This routine is meant for questionning the old Fluid variable
[in] | iech | Rank of the grid node |
|
private |
Get the Permeability value for a grid node
[in] | iech | Rank of the sample |
|
private |
Get the Porosity value for a grid node
[in] | iech | Rank of the sample |
|
private |
|
private |
|
private |
Transition speed for a Facies/Fluid pair in a given direction
[in] | ifacies | Facies value |
[in] | ifluid | Fluid value |
[in] | perm | Permeability value |
[in] | idir | Direction value |
|
private |
Normalize the statistics on Fluids and Corks
[in] | niter | Number of iterations |
|
overrideprivatevirtual |
Reimplemented from ACalculator.
|
overrideprivatevirtual |
Reimplemented from ACalcSimulation.
|
private |
Print the parameters of the fluid propagation simulation
|
overrideprivatevirtual |
Reimplemented from ACalculator.
|
overrideprivatevirtual |
Implements ACalculator.
|
private |
Set the Date for a grid node
[in] | iech | Rank of the grid node |
[in] | idate | Rank of the iteration |
|
private |
Set the Facies value for a grid node
[in] | iech | Rank of the grid node |
[in] | ifacies | Facies value |
|
private |
Turn the Facies into Cork
[in] | iech | Rank of the grid node |
|
private |
Set the Fluid value for a grid node
[in] | iech | Rank of the grid node |
[in] | ifluid | Fluid value |
|
private |
|
private |
|
private |
Multivariate multiphase propagation into a set of components constrained by initial conditions and fluid densities
|
private |
Allocate the Eden_Stats structure
|
private |
Print the statistics for the cells not filled
[in] | title | Title |
|
private |
Initialize the Eden_Stats structure
|
private |
Print the statistics
[in] | title | Title |
|
private |
Reset the Eden_Stats structure
|
private |
Update the fluid at data location
[in] | reset_facies | option
|
[in] | show_fluid | 1 for modifying the value of the cells to show:
|
|
overridevirtual |
Returns the weight of a cell in a given direction
[in] | ipos | Cell location |
[in] | idir | Direction value |
Reimplemented from ISkinFunctions.
|
overridevirtual |
Interface to ISkinFunctions.
Check if the cell is already filled with fluid
[in] | ipos | Absolute grid index of the input grid node |
Implements ISkinFunctions.
|
overridevirtual |
Check if the cell can be filled with fluid
[in] | ipos | Absolute grid index of the input grid node |
Implements ISkinFunctions.
|
delete |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Interface to AStringable.
Reimplemented from AStringable.
|
private |
Rank of the variable containing the Porosity.
|
private |
Maximum volume invaded (or TEST)
|
private |
Rank of the variable containing the Facies.
|
private |
Rank of the variable containing the Fluid.
|
private |
Rank of the variable containing the Permeability.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Number of iterations.
|
private |
number of facies (facies 0 excluded)
|
private |
|
private |
array containing the travel speeds
|
private |
|
private |
|
private |
1 for modifying the value of the cells to show
|
private |
number of fluids
|
private |
|
private |
Maximum count of cells invaded (or TEST)
|
private |