1.5.1
CCC
 
FracList Class Reference

#include <FracList.hpp>

Inheritance diagram for FracList:
AStringable

Public Member Functions

 FracList (int ndisc=1000, bool flag_check=true, double low0=EPSILON8, double low1=EPSILON6, double eps=EPSILON3)
 
 FracList (const FracList &r)
 
FracListoperator= (const FracList &r)
 
virtual ~FracList ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 Interface for AStringable. More...
 
int getNFracs () const
 
int simulate (const FracEnviron &envir, bool flag_sim_layer, bool flag_sim_fract, int seed, bool verbose, const VectorDouble &elevations=VectorDouble())
 
void addDescription (const FracDesc &description=FracDesc())
 
MatrixRectangular fractureExport () const
 
MatrixRectangular layinfoExport () const
 
int fractureToBlock (DbGrid *dbgrid, double xmax, VectorDouble &permtab, double perm_mat, double perm_bench, int ndisc=1000., bool verbose=false, const NamingConvention &namconv=NamingConvention("Fractures"))
 
VectorDouble fractureToWell (int nval, const VectorDouble &well, double xmax, const VectorDouble &permtab, int *nint, int *ncol)
 
int fractureWellToBlock (DbGrid *dbgrid, int col_perm, int col_fluid, int flag_fluid, double val_fluid, const VectorDouble &wellout, int nval, int ndisc=1000., bool verbose=false)
 
VectorDouble fractureExtractLength (int ifam, double cote, double dcote)
 
VectorDouble fractureExtractDist (int ifam, double cote, double dcote)
 
void setFamily (int i, int ifam)
 
void setOrient (int i, double orient)
 
void addPoint (int i, double xx, double yy)
 
- 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
 

Static Public Member Functions

static FracListfractureImport (const VectorDouble &frac_segs, const VectorDouble &layinfo=VectorDouble(), int nfamilies=0)
 

Constructor & Destructor Documentation

◆ FracList() [1/2]

FracList::FracList ( int  ndisc = 1000,
bool  flag_check = true,
double  low0 = EPSILON8,
double  low1 = EPSILON6,
double  eps = EPSILON3 
)

◆ FracList() [2/2]

FracList::FracList ( const FracList r)

◆ ~FracList()

FracList::~FracList ( )
virtual

Member Function Documentation

◆ addDescription()

void FracList::addDescription ( const FracDesc description = FracDesc())

◆ addPoint()

void FracList::addPoint ( int  i,
double  xx,
double  yy 
)
inline

◆ fractureExport()

MatrixRectangular FracList::fractureExport ( ) const

Export the Fractures

◆ fractureExtractDist()

VectorDouble FracList::fractureExtractDist ( int  ifam,
double  cote,
double  dcote 
)

Extract the fracture interdistances

Returns
The returned array
Parameters
[in]ifamRank of the family or ITEST for all
[in]coteSelected layer or TEST for all layers
[in]dcoteTolerance on the layer elevation

◆ fractureExtractLength()

VectorDouble FracList::fractureExtractLength ( int  ifam,
double  cote,
double  dcote 
)

Extract the array of fracture lengths

Returns
The returned array
Parameters
[in]ifamRank of the family or ITEST for all
[in]coteSelected layer or TEST for all layers
[in]dcoteTolerance on the layer elevation

◆ fractureImport()

FracList * FracList::fractureImport ( const VectorDouble frac_segs,
const VectorDouble layinfo = VectorDouble(),
int  nfamilies = 0 
)
static

Import the Fractures

Returns
Pointer to the FracList structure
Parameters
[in]frac_segsArray of fracture segments
[in]layinfoArray of layer information
[in]nfamiliesNumber of families

◆ fractureToBlock()

int FracList::fractureToBlock ( DbGrid dbgrid,
double  xmax,
VectorDouble permtab,
double  perm_mat,
double  perm_bench,
int  ndisc = 1000.,
bool  verbose = false,
const NamingConvention namconv = NamingConvention("Fractures") 
)

Plunge a subset of the simulated fractures into a block

Returns
Error return code
Parameters
[in,out]dbgridDb structure
[in]xmaxMaximum extension along horizontal axis
[in]permtabPermabilities per family (starting from 0)
[in]perm_matPermability for the matrix
[in]perm_benchPermability along the bench edge
[in]ndiscNumber of discretization steps
[in]verboseVerbose flag
[in]namconvNaming convention

◆ fractureToWell()

VectorDouble FracList::fractureToWell ( int  nval,
const VectorDouble well,
double  xmax,
const VectorDouble permtab,
int *  nint,
int *  ncol 
)

Plunge a well line in a set of fractures

Returns
Array of the intersections (should be checked against NULL)
Parameters
[in]nvalNumber of well information
[in]wellArray giving the well trajectory
[in]xmaxMaximum extension along horizontal axis
[in]permtabPermabilities per family (starting from 0) Optional
[out]nintNumber of intersections
[out]ncolNumber of attributes per intersection
Remarks
Output array must be freed by the calling function

◆ fractureWellToBlock()

int FracList::fractureWellToBlock ( DbGrid dbgrid,
int  col_perm,
int  col_fluid,
int  flag_fluid,
double  val_fluid,
const VectorDouble wellout,
int  nval,
int  ndisc = 1000.,
bool  verbose = false 
)

Plunge a line trajectory and the modified permeabilities within an existing block

Returns
Error return code
Parameters
[in,out]dbgridDb structure
[in]col_permExisting attribute for permeability (or ITEST)
[in]col_fluidExisting attribute for fluid (or ITEST)
[in]flag_fluid1 for performing the Fluid filling
[in]val_fluidValue assigned to the fluid
[in]welloutPointer to the new wellout information
[in]nvalNumber of values for wellout informations
[in]ndiscNumber of discretization steps
[in]verboseVerbose flag

◆ getNFracs()

int FracList::getNFracs ( ) const
inline

◆ layinfoExport()

MatrixRectangular FracList::layinfoExport ( ) const
inline

◆ operator=()

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

◆ setFamily()

void FracList::setFamily ( int  i,
int  ifam 
)
inline

◆ setOrient()

void FracList::setOrient ( int  i,
double  orient 
)
inline

◆ simulate()

int FracList::simulate ( const FracEnviron envir,
bool  flag_sim_layer,
bool  flag_sim_fract,
int  seed,
bool  verbose,
const VectorDouble elevations = VectorDouble() 
)

Simulate a set of fractures

Parameters
[in]envirEnviron structure
[in]flag_sim_layerTRUE for simulating layers FALSE if they are read
[in]flag_sim_fractTRUE for simulating the fractures FALSE establish the layers and the main faults
[in]elevationsArray of elevations (used if flag_sim_layer=F)
[in]seedSeed for the random number generator
[in]verboseVerbose option

◆ toString()

String FracList::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

Interface for AStringable.

Reimplemented from AStringable.


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