1.5.0
CCC
 
MeshETurbo Class Reference

#include <MeshETurbo.hpp>

Inheritance diagram for MeshETurbo:
AMesh AStringable ASerializable

Detailed Description

Meshing defined as a Turbo based on a Regular Grid It actually avoids storing all the meshing information and produces faster methods

Public Member Functions

 MeshETurbo (int mode=1)
 
 MeshETurbo (const VectorInt &nx, const VectorDouble &dx=VectorDouble(), const VectorDouble &x0=VectorDouble(), const VectorDouble &angles=VectorDouble(), bool flag_polarized=false, bool verbose=false, int mode=1)
 
 MeshETurbo (const DbGrid *dbgrid, bool flag_polarized=false, bool verbose=false, int mode=1)
 
 MeshETurbo (const MeshETurbo &r)
 
MeshETurbooperator= (const MeshETurbo &r)
 
virtual ~MeshETurbo ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 Interface to AStringable. More...
 
int getNApices () const override
 Interface to AMesh. More...
 
int getNMeshes () const override
 
int getApex (int imesh, int rank) const override
 
double getCoor (int imesh, int rank, int idim) const override
 
void getCoordinatesInPlace (int imesh, int rank, VectorDouble &coords) const override
 
double getApexCoor (int i, int idim) const override
 
void getApexCoordinatesInPlace (int i, VectorDouble &coords) const override
 
double getMeshSize (int imesh) const override
 
void resetProjMatrix (ProjMatrix *m, const Db *db, int rankZ=-1, bool verbose=false) const override
 
void setPolarized (bool flag)
 
int initFromExtend (const VectorDouble &extendmin, const VectorDouble &extendmax, const VectorDouble &cellsize, const VectorDouble &rotmat=VectorDouble(), bool flag_polarized=false, bool verbose=false)
 
int initFromGridByMatrix (const VectorInt &nx, const VectorDouble &dx=VectorDouble(), const VectorDouble &x0=VectorDouble(), const VectorDouble &rotmat=VectorDouble(), const VectorDouble &sel=VectorDouble(), bool flag_polarized=false, bool verbose=false)
 
int initFromGridByAngles (const VectorInt &nx, const VectorDouble &dx=VectorDouble(), const VectorDouble &x0=VectorDouble(), const VectorDouble &angles=VectorDouble(), const VectorDouble &sel=VectorDouble(), bool flag_polarized=false, bool verbose=false)
 
int initFromCova (const CovAniso &cova, const Db *field, double ratio, int nbExt=0, bool useSel=true, bool flagNoStatRot=false, bool verbose=false)
 
const GridgetGrid () const
 
const IndirectiongetGridIndirect () const
 
const IndirectiongetMeshIndirect () const
 
- Public Member Functions inherited from AMesh
 AMesh ()
 
 AMesh (const AMesh &m)
 
AMeshoperator= (const AMesh &m)
 
virtual ~AMesh ()
 
virtual int getNApexPerMesh () const
 Interface for AMesh. More...
 
virtual int getVariety () const
 
virtual int getEmbeddedNDim () const
 
virtual void getEmbeddedCoorPerMesh (int imesh, int ic, VectorDouble &coords) const
 
virtual void getEmbeddedCoorPerApex (int iapex, VectorDouble &coords) const
 
ProjMatrixcreateProjMatrix (const Db *db, int rankZ=-1, bool verbose=false) const
 
int getNDim () const
 
double getExtendMin (int idim) const
 
double getExtendMax (int idim) const
 
VectorDouble getExtrema (int idim) const
 
void getElements (MatrixRectangular &apices, MatrixInt &meshes) const
 
int isCompatibleDb (const Db *db) const
 
VectorDouble getMeshSizes () const
 
void printMesh (int imesh0) const
 
void printMeshes (int level=0, int nline_max=-1) const
 
VectorDouble getCoordinates (int idim) const
 
VectorInt getMeshByApexPair (int apex1, int apex2) const
 
VectorDouble getCoordinatesPerMesh (int imesh, int idim, bool flagClose=false) const
 
VectorDouble getApexCoordinates (int iapex) const
 
VectorVectorDouble getCoordinatesPerMesh (int imesh) const
 
VectorVectorDouble getEmbeddedCoordinatesPerMesh (int imesh=0) const
 
void getEmbeddedCoordinatesPerMeshInPlace (int imesh, VectorVectorDouble &vec) const
 
VectorVectorDouble getEmbeddedCoordinatesPerApex () const
 
VectorDouble getDistances (int iapex0, const VectorInt &japices=VectorInt()) const
 
VectorVectorDouble getAllCoordinates () const
 
MatrixRectangular getAllApices () const
 
MatrixInt getAllMeshes () const
 
double getCenterCoordinate (int imesh, int idim) const
 
VectorVectorDouble getAllCenterCoordinates () const
 
VectorVectorInt getNeighborhoodPerMesh () const
 
VectorVectorInt getNeighborhoodPerApex () 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 MeshETurbocreate (const VectorInt &nx, const VectorDouble &dx=VectorDouble(), const VectorDouble &x0=VectorDouble(), const VectorDouble &angles=VectorDouble(), bool flag_polarized=false, bool verbose=false)
 
static MeshETurbocreateFromNF (const String &neutralFilename, bool verbose=true)
 
static MeshETurbocreateFromGrid (const DbGrid *dbgrid, bool flag_polarized=false, bool verbose=false, int mode=1)
 
static MeshETurbocreateFromGridInfo (const Grid *grid, bool flag_polarized=false, bool verbose=false, int mode=1)
 
static MeshETurbocreateFromCova (const CovAniso &cova, const Db *field, double ratio, int nbExt=0, bool useSel=true, bool flagNoStatRot=false, bool verbose=false)
 
- Static Public Member Functions inherited from AMesh
static void dumpNeighborhood (std::vector< VectorInt > &Vmesh, int nline_max=1)
 
- 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

◆ MeshETurbo() [1/4]

MeshETurbo::MeshETurbo ( int  mode = 1)

◆ MeshETurbo() [2/4]

MeshETurbo::MeshETurbo ( const VectorInt nx,
const VectorDouble dx = VectorDouble(),
const VectorDouble x0 = VectorDouble(),
const VectorDouble angles = VectorDouble(),
bool  flag_polarized = false,
bool  verbose = false,
int  mode = 1 
)

◆ MeshETurbo() [3/4]

MeshETurbo::MeshETurbo ( const DbGrid dbgrid,
bool  flag_polarized = false,
bool  verbose = false,
int  mode = 1 
)

◆ MeshETurbo() [4/4]

MeshETurbo::MeshETurbo ( const MeshETurbo r)

◆ ~MeshETurbo()

MeshETurbo::~MeshETurbo ( )
virtual

Member Function Documentation

◆ create()

MeshETurbo * MeshETurbo::create ( const VectorInt nx,
const VectorDouble dx = VectorDouble(),
const VectorDouble x0 = VectorDouble(),
const VectorDouble angles = VectorDouble(),
bool  flag_polarized = false,
bool  verbose = false 
)
static

◆ createFromCova()

MeshETurbo * MeshETurbo::createFromCova ( const CovAniso cova,
const Db field,
double  ratio,
int  nbExt = 0,
bool  useSel = true,
bool  flagNoStatRot = false,
bool  verbose = false 
)
static

◆ createFromGrid()

MeshETurbo * MeshETurbo::createFromGrid ( const DbGrid dbgrid,
bool  flag_polarized = false,
bool  verbose = false,
int  mode = 1 
)
static

◆ createFromGridInfo()

MeshETurbo * MeshETurbo::createFromGridInfo ( const Grid grid,
bool  flag_polarized = false,
bool  verbose = false,
int  mode = 1 
)
static

◆ createFromNF()

MeshETurbo * MeshETurbo::createFromNF ( const String neutralFilename,
bool  verbose = true 
)
static

Create a MeshETurbo by loading the contents of a Neutral File

Parameters
neutralFilenameName of the Neutral File (MeshEStandard format)
verboseVerbose

◆ getApex()

int MeshETurbo::getApex ( int  imesh,
int  rank 
) const
overridevirtual

Returns the Apex 'rank' of the Mesh 'imesh'

Returns
The rank of the target apex
Parameters
[in]imeshRank of active Mesh (starting from 0)
[in]rankRank of Apex within a Mesh (from 0 to _nApexPerMesh-1)

Implements AMesh.

◆ getApexCoor()

double MeshETurbo::getApexCoor ( int  i,
int  idim 
) const
overridevirtual

Returns coordinate 'idim' of apex 'i'

Implements AMesh.

◆ getApexCoordinatesInPlace()

void MeshETurbo::getApexCoordinatesInPlace ( int  i,
VectorDouble coords 
) const
overridevirtual

Returns coordinates of apex 'i'

Reimplemented from AMesh.

◆ getCoor()

double MeshETurbo::getCoor ( int  imesh,
int  rank,
int  idim 
) const
overridevirtual

Returns coordinate 'idim' of apex 'rank' of mesh 'imesh'

Implements AMesh.

◆ getCoordinatesInPlace()

void MeshETurbo::getCoordinatesInPlace ( int  imesh,
int  rank,
VectorDouble coords 
) const
overridevirtual

Returns coordinate 'idim' of apex 'rank' of mesh 'imesh'

Reimplemented from AMesh.

◆ getGrid()

const Grid& MeshETurbo::getGrid ( ) const
inline

◆ getGridIndirect()

const Indirection& MeshETurbo::getGridIndirect ( ) const
inline

◆ getMeshIndirect()

const Indirection& MeshETurbo::getMeshIndirect ( ) const
inline

◆ getMeshSize()

double MeshETurbo::getMeshSize ( int  imesh) const
overridevirtual

Returns the mesh size

Implements AMesh.

◆ getNApices()

int MeshETurbo::getNApices ( ) const
overridevirtual

Interface to AMesh.

Returns the total number of apices of the whole grid (not accounting for possible mask on meshes)

Returns

Implements AMesh.

◆ getNMeshes()

int MeshETurbo::getNMeshes ( ) const
overridevirtual

Actual number of (active) meshes

Returns

Implements AMesh.

◆ initFromCova()

int MeshETurbo::initFromCova ( const CovAniso cova,
const Db field,
double  ratio,
int  nbExt = 0,
bool  useSel = true,
bool  flagNoStatRot = false,
bool  verbose = false 
)

◆ initFromExtend()

int MeshETurbo::initFromExtend ( const VectorDouble extendmin,
const VectorDouble extendmax,
const VectorDouble cellsize,
const VectorDouble rotmat = VectorDouble(),
bool  flag_polarized = false,
bool  verbose = false 
)

Create the meshing

Parameters
[in]extendminMinimum of the dilated rotated bounding box
[in]extendmaxMinimum of the dilated rotated bounding box
[in]cellsizeArray giving the cell size (see details)
[in]rotmatRotation matrix (optional)
[in]flag_polarizedSwitching ON/OFF the polarization
[in]verboseVerbose flag

◆ initFromGridByAngles()

int MeshETurbo::initFromGridByAngles ( const VectorInt nx,
const VectorDouble dx = VectorDouble(),
const VectorDouble x0 = VectorDouble(),
const VectorDouble angles = VectorDouble(),
const VectorDouble sel = VectorDouble(),
bool  flag_polarized = false,
bool  verbose = false 
)

◆ initFromGridByMatrix()

int MeshETurbo::initFromGridByMatrix ( const VectorInt nx,
const VectorDouble dx = VectorDouble(),
const VectorDouble x0 = VectorDouble(),
const VectorDouble rotmat = VectorDouble(),
const VectorDouble sel = VectorDouble(),
bool  flag_polarized = false,
bool  verbose = false 
)

◆ operator=()

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

◆ resetProjMatrix()

void MeshETurbo::resetProjMatrix ( ProjMatrix m,
const Db db,
int  rankZ = -1,
bool  verbose = false 
) const
overridevirtual

Returns the Sparse Matrix used to project a Db onto the Meshing

Parameters
[out]mProjection matrix to be initialized
[in]dbDb structure
[in]rankZRank of the Z-locator to be tested (see remarks)
[in]verboseVerbose flag
Remarks
If rankZ>=0, a sample is only considered if the value
of the corresponding variable is defined

Implements AMesh.

◆ setPolarized()

void MeshETurbo::setPolarized ( bool  flag)
inline

◆ toString()

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

Interface to AStringable.

Print the contents of the meshing

Parameters
[in]strfmtFormat for printout

Reimplemented from AMesh.


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