Version: 9.14.0
MEDCoupling::MEDCouplingCartesianAMRMesh Class Reference
Inheritance diagram for MEDCoupling::MEDCouplingCartesianAMRMesh:
Collaboration diagram for MEDCoupling::MEDCouplingCartesianAMRMesh:

Public Member Functions

void createPatchesFromCriterionML (const std::vector< const INTERP_KERNEL::BoxSplittingOptions * > &bso, const DataArrayDouble *criterion, const std::vector< std::vector< mcIdType > > &factors, double eps)
 
MEDCouplingCartesianAMRMeshdeepCopy (MEDCouplingCartesianAMRMeshGen *father) const
 
void detachFromFather ()
 
mcIdType getAbsoluteLevel () const
 
mcIdType getAbsoluteLevelRelativeTo (const MEDCouplingCartesianAMRMeshGen *ref) const
 
std::string getClassName () const override
 
const MEDCouplingCartesianAMRMeshGengetFather () const
 
const MEDCouplingCartesianAMRMeshGengetGodFather () const
 
std::vector< std::pair< mcIdType, mcIdType > > positionRelativeToGodFather (std::vector< mcIdType > &st) const
 
std::vector< MEDCouplingCartesianAMRPatchGen * > retrieveGridsAt (mcIdType absoluteLev) const
 
- Public Member Functions inherited from MEDCoupling::MEDCouplingCartesianAMRMeshGen
void addPatch (const std::vector< std::pair< mcIdType, mcIdType > > &bottomLeftTopRight, const std::vector< mcIdType > &factors)
 
MEDCouplingFieldDoublebuildCellFieldOnRecurseWithoutOverlapWithoutGhost (mcIdType ghostSz, const std::vector< const DataArrayDouble * > &recurseArrs) const
 
MEDCoupling1SGTUMeshbuildMeshFromPatchEnvelop () const
 
MEDCoupling1SGTUMeshbuildMeshOfDirectChildrenOnly () const
 
std::string buildPythonDumpOfThis () const
 
MEDCouplingUMeshbuildUnstructured () const
 
DataArrayDoublecreateCellFieldOnPatch (mcIdType patchId, const DataArrayDouble *cellFieldOnThis) const
 
void createPatchesFromCriterion (const INTERP_KERNEL::BoxSplittingOptions &bso, const DataArrayByte *criterion, const std::vector< mcIdType > &factors)
 
void createPatchesFromCriterion (const INTERP_KERNEL::BoxSplittingOptions &bso, const DataArrayDouble *criterion, const std::vector< mcIdType > &factors, double eps)
 
void createPatchesFromCriterion (const INTERP_KERNEL::BoxSplittingOptions &bso, const std::vector< bool > &criterion, const std::vector< mcIdType > &factors)
 
DataArrayDoubleextractGhostFrom (mcIdType ghostSz, const DataArrayDouble *arr) const
 
void fillCellFieldComingFromPatch (mcIdType patchId, const DataArrayDouble *cellFieldOnPatch, DataArrayDouble *cellFieldOnThis, bool isConservative=true) const
 
void fillCellFieldComingFromPatchGhost (mcIdType patchId, const DataArrayDouble *cellFieldOnPatch, DataArrayDouble *cellFieldOnThis, mcIdType ghostLev, bool isConservative=true) const
 
void fillCellFieldOnPatch (mcIdType patchId, const DataArrayDouble *cellFieldOnThis, DataArrayDouble *cellFieldOnPatch, bool isConservative=true) const
 
void fillCellFieldOnPatchGhost (mcIdType patchId, const DataArrayDouble *cellFieldOnThis, DataArrayDouble *cellFieldOnPatch, mcIdType ghostLev, bool isConservative=true) const
 
void fillCellFieldOnPatchGhostAdv (mcIdType patchId, const DataArrayDouble *cellFieldOnThis, mcIdType ghostLev, const std::vector< const DataArrayDouble * > &arrsOnPatches, bool isConservative=true) const
 
void fillCellFieldOnPatchOnlyGhostAdv (mcIdType patchId, mcIdType ghostLev, const std::vector< const DataArrayDouble * > &arrsOnPatches) const
 
void fillCellFieldOnPatchOnlyOnGhostZone (mcIdType patchId, const DataArrayDouble *cellFieldOnThis, DataArrayDouble *cellFieldOnPatch, mcIdType ghostLev) const
 
void fillCellFieldOnPatchOnlyOnGhostZoneWith (mcIdType ghostLev, const MEDCouplingCartesianAMRPatch *patchToBeModified, const MEDCouplingCartesianAMRPatch *neighborPatch, DataArrayDouble *cellFieldOnPatch, const DataArrayDouble *cellFieldNeighbor) const
 
DataArrayIdType * findPatchesInTheNeighborhoodOf (mcIdType patchId, mcIdType ghostLev) const
 
const std::vector< mcIdType > & getFactors () const
 
const MEDCouplingIMeshgetImageMesh () const
 
mcIdType getMaxNumberOfLevelsRelativeToThis () const
 
const MEDCouplingCartesianAMRMeshGengetMeshAtPosition (const std::vector< mcIdType > &pos) const
 
mcIdType getNumberOfCellsAtCurrentLevel () const
 
mcIdType getNumberOfCellsAtCurrentLevelGhost (mcIdType ghostLev) const
 
mcIdType getNumberOfCellsRecursiveWithoutOverlap () const
 
mcIdType getNumberOfCellsRecursiveWithOverlap () const
 
mcIdType getNumberOfPatches () const
 
const MEDCouplingCartesianAMRPatch * getPatch (mcIdType patchId) const
 
const MEDCouplingCartesianAMRPatch * getPatchAtPosition (const std::vector< mcIdType > &pos) const
 
std::vector< const MEDCouplingCartesianAMRPatch * > getPatches () const
 
mcIdType getPatchIdFromChildMesh (const MEDCouplingCartesianAMRMeshGen *mesh) const
 
std::vector< mcIdType > getPatchIdsInTheNeighborhoodOf (mcIdType patchId, mcIdType ghostLev) const
 
std::vector< mcIdType > getPositionRelativeTo (const MEDCouplingCartesianAMRMeshGen *ref) const
 
int getSpaceDimension () const
 
bool isPatchInNeighborhoodOf (mcIdType patchId1, mcIdType patchId2, mcIdType ghostLev) const
 
void removeAllPatches ()
 
void removePatch (mcIdType patchId)
 
void setFactors (const std::vector< mcIdType > &newFactors)
 
- Public Member Functions inherited from MEDCoupling::RefCountObjectOnly
bool decrRef () const
 
int getRCValue () const
 
void incrRef () const
 
RefCountObjectOnlyoperator= (const RefCountObjectOnly &other)
 
- Public Member Functions inherited from MEDCoupling::BigMemoryObject
std::string debugHeapMemorySize () const
 
std::vector< const BigMemoryObject * > getAllTheProgeny () const
 
std::vector< const BigMemoryObject * > getDirectChildren () const
 
std::size_t getHeapMemorySize () const
 
std::string getHeapMemorySizeStr () const
 
bool isObjectInTheProgeny (const BigMemoryObject *obj) const
 
virtual ~BigMemoryObject ()
 
- Public Member Functions inherited from MEDCoupling::TimeLabel
void declareAsNew () const
 
std::size_t getTimeOfThis () const
 
TimeLabeloperator= (const TimeLabel &other)
 
 TimeLabel (const TimeLabel &other)=default
 

Static Public Member Functions

static MEDCouplingCartesianAMRMeshNew (const std::string &meshName, int spaceDim, const mcIdType *nodeStrctStart, const mcIdType *nodeStrctStop, const double *originStart, const double *originStop, const double *dxyzStart, const double *dxyzStop)
 
static MEDCouplingCartesianAMRMeshNew (MEDCouplingIMesh *mesh)
 
- Static Public Member Functions inherited from MEDCoupling::BigMemoryObject
static std::size_t GetHeapMemorySizeOfObjs (const std::vector< const BigMemoryObject * > &objs)
 

Additional Inherited Members

- Protected Member Functions inherited from MEDCoupling::MEDCouplingCartesianAMRMeshGen
void checkFactorsAndIfNotSetAssign (const std::vector< mcIdType > &factors)
 
void checkPatchId (mcIdType patchId) const
 
void dumpPatchesOf (const std::string &varName, std::ostream &oss) const
 
std::vector< const DataArrayDouble * > extractSubTreeFromGlobalFlatten (const MEDCouplingCartesianAMRMeshGen *head, const std::vector< const DataArrayDouble * > &all) const
 
std::size_t getHeapMemorySizeWithoutChildren () const
 
 MEDCouplingCartesianAMRMeshGen (const MEDCouplingCartesianAMRMeshGen &other)
 
 MEDCouplingCartesianAMRMeshGen (const std::string &meshName, int spaceDim, const mcIdType *nodeStrctStart, const mcIdType *nodeStrctStop, const double *originStart, const double *originStop, const double *dxyzStart, const double *dxyzStop)
 
 MEDCouplingCartesianAMRMeshGen (MEDCouplingIMesh *mesh)
 
void retrieveGridsAtInternal (mcIdType lev, std::vector< MCAuto< MEDCouplingCartesianAMRPatchGen > > &grids) const
 
void updateTime () const
 
- Protected Member Functions inherited from MEDCoupling::RefCountObject
 RefCountObject ()
 
 RefCountObject (const RefCountObject &other)
 
virtual ~RefCountObject ()
 
- Protected Member Functions inherited from MEDCoupling::RefCountObjectOnly
 RefCountObjectOnly ()
 
 RefCountObjectOnly (const RefCountObjectOnly &other)
 
virtual ~RefCountObjectOnly ()
 
- Protected Member Functions inherited from MEDCoupling::TimeLabel
void forceTimeOfThis (const TimeLabel &other) const
 
 TimeLabel ()
 
void updateTimeWith (const TimeLabel &other) const
 
virtual ~TimeLabel ()
 
- Static Protected Member Functions inherited from MEDCoupling::MEDCouplingCartesianAMRMeshGen
static mcIdType GetGhostLevelInFineRef (mcIdType ghostLev, const std::vector< mcIdType > &factors)
 
- Protected Attributes inherited from MEDCoupling::MEDCouplingCartesianAMRMeshGen
std::vector< mcIdType > _factors
 
MCAuto< MEDCouplingIMesh_mesh
 
std::vector< MCAuto< MEDCouplingCartesianAMRPatch > > _patches
 

Member Function Documentation

◆ New() [1/2]

MEDCouplingCartesianAMRMesh * MEDCouplingCartesianAMRMesh::New ( const std::string &  meshName,
int  spaceDim,
const mcIdType *  nodeStrctStart,
const mcIdType *  nodeStrctStop,
const double *  originStart,
const double *  originStop,
const double *  dxyzStart,
const double *  dxyzStop 
)
static

◆ New() [2/2]

MEDCouplingCartesianAMRMesh * MEDCouplingCartesianAMRMesh::New ( MEDCouplingIMesh mesh)
static

◆ getClassName()

std::string MEDCoupling::MEDCouplingCartesianAMRMesh::getClassName ( ) const
overridevirtual

Reimplemented from MEDCoupling::BigMemoryObject.

◆ getFather()

const MEDCouplingCartesianAMRMeshGen * MEDCouplingCartesianAMRMesh::getFather ( ) const
virtual

◆ getGodFather()

const MEDCouplingCartesianAMRMeshGen * MEDCouplingCartesianAMRMesh::getGodFather ( ) const
virtual

◆ getAbsoluteLevel()

mcIdType MEDCouplingCartesianAMRMesh::getAbsoluteLevel ( ) const
virtual

◆ detachFromFather()

void MEDCouplingCartesianAMRMesh::detachFromFather ( )
virtual

◆ positionRelativeToGodFather()

std::vector< std::pair< mcIdType, mcIdType > > MEDCouplingCartesianAMRMesh::positionRelativeToGodFather ( std::vector< mcIdType > &  st) const
virtual

◆ getAbsoluteLevelRelativeTo()

mcIdType MEDCouplingCartesianAMRMesh::getAbsoluteLevelRelativeTo ( const MEDCouplingCartesianAMRMeshGen ref) const
virtual

◆ retrieveGridsAt()

std::vector< MEDCouplingCartesianAMRPatchGen * > MEDCouplingCartesianAMRMesh::retrieveGridsAt ( mcIdType  absoluteLev) const
virtual

This method returns grids relative to god father to specified level absoluteLev.

Returns
std::vector<MEDCouplingCartesianAMRPatchGen *> - objects in vector are to be managed (decrRef) by the caller.

Reimplemented from MEDCoupling::MEDCouplingCartesianAMRMeshGen.

References MEDCoupling::MEDCouplingCartesianAMRMeshGen::retrieveGridsAtInternal().

Referenced by createPatchesFromCriterionML(), and MEDCoupling::MEDCouplingAMRAttribute::writeVTHB().

◆ deepCopy()

◆ createPatchesFromCriterionML()

void MEDCouplingCartesianAMRMesh::createPatchesFromCriterionML ( const std::vector< const INTERP_KERNEL::BoxSplittingOptions * > &  bso,
const DataArrayDouble criterion,
const std::vector< std::vector< mcIdType > > &  factors,
double  eps 
)

This method creates a multi level patches split at once. This method calls as many times as size of bso createPatchesFromCriterion. Size of bso and size of factors must be the same ! WARNING, after the call the number of levels in this is equal to bso.size() + 1 !

Parameters
[in]bsovector of BoxSplittingOptions
[in]criterionDataArrayDouble
[in]factorsvector of vector of factors
[in]eps- See DataArrayDouble::toVectorOfBool for more information about the semantic of eps.
See also
createPatchesFromCriterion

References MEDCoupling::MEDCouplingCartesianAMRMeshGen::createPatchesFromCriterion(), MEDCoupling::DataArrayTemplate< T >::deepCopyFrom(), MEDCoupling::RefCountObjectOnly::incrRef(), MEDCoupling::MEDCouplingAMRAttribute::New(), and retrieveGridsAt().