Version: 6.5.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
ParaMEDMEM::MEDCouplingFieldDiscretization Class Reference
Inheritance diagram for ParaMEDMEM::MEDCouplingFieldDiscretization:
Inheritance graph
[legend]
Collaboration diagram for ParaMEDMEM::MEDCouplingFieldDiscretization:
Collaboration graph
[legend]

Public Member Functions

double getPrecision () const
void setPrecision (double val)
void updateTime () const
virtual TypeOfField getEnum () const =0
virtual bool isEqual (const MEDCouplingFieldDiscretization *other, double eps) const =0
virtual bool isEqualWithoutConsideringStr (const MEDCouplingFieldDiscretization *other, double eps) const
virtual
MEDCouplingFieldDiscretization
clone () const =0
virtual std::string getStringRepr () const =0
virtual const char * getRepr () const =0
virtual int getNumberOfTuples (const MEDCouplingMesh *mesh) const =0
virtual int getNumberOfMeshPlaces (const MEDCouplingMesh *mesh) const =0
virtual DataArrayIntgetOffsetArr (const MEDCouplingMesh *mesh) const =0
virtual void normL1 (const MEDCouplingMesh *mesh, const DataArrayDouble *arr, double *res) const throw (INTERP_KERNEL::Exception)
virtual void normL2 (const MEDCouplingMesh *mesh, const DataArrayDouble *arr, double *res) const throw (INTERP_KERNEL::Exception)
virtual void integral (const MEDCouplingMesh *mesh, const DataArrayDouble *arr, bool isWAbs, double *res) const throw (INTERP_KERNEL::Exception)
virtual DataArrayDoublegetLocalizationOfDiscValues (const MEDCouplingMesh *mesh) const =0
virtual void computeMeshRestrictionFromTupleIds (const MEDCouplingMesh *mesh, const int *partBg, const int *partEnd, DataArrayInt *&cellRest)=0
virtual void checkCompatibilityWithNature (NatureOfField nat) const =0 throw (INTERP_KERNEL::Exception)
virtual void renumberCells (const int *old2NewBg, bool check) throw (INTERP_KERNEL::Exception)
virtual void renumberArraysForCell (const MEDCouplingMesh *mesh, const std::vector< DataArrayDouble * > &arrays, const int *old2NewBg, bool check)=0 throw (INTERP_KERNEL::Exception)
virtual double getIJK (const MEDCouplingMesh *mesh, const DataArrayDouble *da, int cellId, int nodeIdInCell, int compoId) const throw (INTERP_KERNEL::Exception)
virtual void checkCoherencyBetween (const MEDCouplingMesh *mesh, const DataArrayDouble *da) const =0 throw (INTERP_KERNEL::Exception)
virtual MEDCouplingFieldDoublegetMeasureField (const MEDCouplingMesh *mesh, bool isAbs) const =0
virtual void getValueOn (const DataArrayDouble *arr, const MEDCouplingMesh *mesh, const double *loc, double *res) const =0
virtual void getValueOnPos (const DataArrayDouble *arr, const MEDCouplingMesh *mesh, int i, int j, int k, double *res) const =0
virtual DataArrayDoublegetValueOnMulti (const DataArrayDouble *arr, const MEDCouplingMesh *mesh, const double *loc, int nbOfPoints) const =0
virtual MEDCouplingMeshbuildSubMeshData (const MEDCouplingMesh *mesh, const int *start, const int *end, DataArrayInt *&di) const =0
virtual void renumberValuesOnNodes (double epsOnVals, const int *old2New, DataArrayDouble *arr) const =0
virtual void renumberValuesOnCells (double epsOnVals, const MEDCouplingMesh *mesh, const int *old2New, DataArrayDouble *arr) const =0
virtual void renumberValuesOnCellsR (const MEDCouplingMesh *mesh, const int *new2old, int newSz, DataArrayDouble *arr) const =0
virtual void getSerializationIntArray (DataArrayInt *&arr) const
virtual void getTinySerializationIntInformation (std::vector< int > &tinyInfo) const
virtual void getTinySerializationDbleInformation (std::vector< double > &tinyInfo) const
virtual void finishUnserialization (const std::vector< double > &tinyInfo)
virtual void resizeForUnserialization (const std::vector< int > &tinyInfo, DataArrayInt *&arr)
virtual void setGaussLocalizationOnType (const MEDCouplingMesh *m, INTERP_KERNEL::NormalizedCellType type, const std::vector< double > &refCoo, const std::vector< double > &gsCoo, const std::vector< double > &wg) throw (INTERP_KERNEL::Exception)
virtual void setGaussLocalizationOnCells (const MEDCouplingMesh *m, const int *begin, const int *end, const std::vector< double > &refCoo, const std::vector< double > &gsCoo, const std::vector< double > &wg) throw (INTERP_KERNEL::Exception)
virtual void clearGaussLocalizations () throw (INTERP_KERNEL::Exception)
virtual
MEDCouplingGaussLocalization & 
getGaussLocalization (int locId) throw (INTERP_KERNEL::Exception)
virtual int getNbOfGaussLocalization () const throw (INTERP_KERNEL::Exception)
virtual int getGaussLocalizationIdOfOneCell (int cellId) const throw (INTERP_KERNEL::Exception)
virtual int getGaussLocalizationIdOfOneType (INTERP_KERNEL::NormalizedCellType type) const throw (INTERP_KERNEL::Exception)
virtual void getCellIdsHavingGaussLocalization (int locId, std::vector< int > &cellIds) const throw (INTERP_KERNEL::Exception)
virtual const
MEDCouplingGaussLocalization & 
getGaussLocalization (int locId) const throw (INTERP_KERNEL::Exception)
virtual ~MEDCouplingFieldDiscretization ()
- Public Member Functions inherited from ParaMEDMEM::TimeLabel
TimeLabeloperator= (const TimeLabel &other)
void declareAsNew () const
unsigned int getTimeOfThis () const

Static Public Member Functions

static
MEDCouplingFieldDiscretization
New (TypeOfField type)
static TypeOfField getTypeOfFieldFromStringRepr (const char *repr) throw (INTERP_KERNEL::Exception)

Protected Member Functions

 MEDCouplingFieldDiscretization ()
- Protected Member Functions inherited from ParaMEDMEM::TimeLabel
 TimeLabel ()
virtual ~TimeLabel ()
void updateTimeWith (const TimeLabel &other) const

Static Protected Member Functions

static void renumberEntitiesFromO2NArr (double epsOnVals, const int *old2NewPtr, DataArrayDouble *arr, const char *msg)
static void renumberEntitiesFromN2OArr (const int *new2OldPtr, int new2OldSz, DataArrayDouble *arr, const char *msg)

Protected Attributes

double _precision

Static Protected Attributes

static const double DFLT_PRECISION = 1.e-12

Constructor & Destructor Documentation

MEDCouplingFieldDiscretization::~MEDCouplingFieldDiscretization ( )
virtual
MEDCouplingFieldDiscretization::MEDCouplingFieldDiscretization ( )
protected

Member Function Documentation

MEDCouplingFieldDiscretization * MEDCouplingFieldDiscretization::New ( TypeOfField  type)
static
double ParaMEDMEM::MEDCouplingFieldDiscretization::getPrecision ( ) const
void ParaMEDMEM::MEDCouplingFieldDiscretization::setPrecision ( double  val)
void MEDCouplingFieldDiscretization::updateTime ( ) const
virtual

Excepted for MEDCouplingFieldDiscretizationPerCell no underlying TimeLabel object : nothing to do in generally.

Implements ParaMEDMEM::TimeLabel.

Reimplemented in ParaMEDMEM::MEDCouplingFieldDiscretizationPerCell.

TypeOfField MEDCouplingFieldDiscretization::getTypeOfFieldFromStringRepr ( const char *  repr) throw (INTERP_KERNEL::Exception)
static
virtual TypeOfField ParaMEDMEM::MEDCouplingFieldDiscretization::getEnum ( ) const
pure virtual
virtual bool ParaMEDMEM::MEDCouplingFieldDiscretization::isEqual ( const MEDCouplingFieldDiscretization other,
double  eps 
) const
pure virtual
bool MEDCouplingFieldDiscretization::isEqualWithoutConsideringStr ( const MEDCouplingFieldDiscretization other,
double  eps 
) const
virtual
virtual MEDCouplingFieldDiscretization* ParaMEDMEM::MEDCouplingFieldDiscretization::clone ( ) const
pure virtual
virtual std::string ParaMEDMEM::MEDCouplingFieldDiscretization::getStringRepr ( ) const
pure virtual
virtual const char* ParaMEDMEM::MEDCouplingFieldDiscretization::getRepr ( ) const
pure virtual
virtual int ParaMEDMEM::MEDCouplingFieldDiscretization::getNumberOfTuples ( const MEDCouplingMesh mesh) const
pure virtual
virtual int ParaMEDMEM::MEDCouplingFieldDiscretization::getNumberOfMeshPlaces ( const MEDCouplingMesh mesh) const
pure virtual
virtual DataArrayInt* ParaMEDMEM::MEDCouplingFieldDiscretization::getOffsetArr ( const MEDCouplingMesh mesh) const
pure virtual
void MEDCouplingFieldDiscretization::normL1 ( const MEDCouplingMesh mesh,
const DataArrayDouble arr,
double *  res 
) const throw (INTERP_KERNEL::Exception)
virtual

Computes normL1 of DataArrayDouble instance arr.

Parameters
resoutput parameter expected to be of size arr->getNumberOfComponents();
Exceptions
whenthe field discretization fails on getMeasure fields (gauss points for example)

References ParaMEDMEM::RefCountObject::decrRef(), ParaMEDMEM::MEDCouplingFieldDouble::getArray(), and ParaMEDMEM::DataArrayDouble::getConstPointer().

void MEDCouplingFieldDiscretization::normL2 ( const MEDCouplingMesh mesh,
const DataArrayDouble arr,
double *  res 
) const throw (INTERP_KERNEL::Exception)
virtual

Computes normL2 of DataArrayDouble instance arr.

Parameters
resoutput parameter expected to be of size arr->getNumberOfComponents();
Exceptions
whenthe field discretization fails on getMeasure fields (gauss points for example)

References ParaMEDMEM::RefCountObject::decrRef(), ParaMEDMEM::MEDCouplingFieldDouble::getArray(), and ParaMEDMEM::DataArrayDouble::getConstPointer().

void MEDCouplingFieldDiscretization::integral ( const MEDCouplingMesh mesh,
const DataArrayDouble arr,
bool  isWAbs,
double *  res 
) const throw (INTERP_KERNEL::Exception)
virtual

Computes integral of DataArrayDouble instance arr.

Parameters
resoutput parameter expected to be of size arr->getNumberOfComponents();
Exceptions
whenthe field discretization fails on getMeasure fields (gauss points for example)

References ParaMEDMEM::RefCountObject::decrRef(), ParaMEDMEM::MEDCouplingFieldDouble::getArray(), and ParaMEDMEM::DataArrayDouble::getConstPointer().

virtual DataArrayDouble* ParaMEDMEM::MEDCouplingFieldDiscretization::getLocalizationOfDiscValues ( const MEDCouplingMesh mesh) const
pure virtual
virtual void ParaMEDMEM::MEDCouplingFieldDiscretization::computeMeshRestrictionFromTupleIds ( const MEDCouplingMesh mesh,
const int *  partBg,
const int *  partEnd,
DataArrayInt *&  cellRest 
)
pure virtual
virtual void ParaMEDMEM::MEDCouplingFieldDiscretization::checkCompatibilityWithNature ( NatureOfField  nat) const throw (INTERP_KERNEL::Exception)
pure virtual
void MEDCouplingFieldDiscretization::renumberCells ( const int *  old2NewBg,
bool  check 
) throw (INTERP_KERNEL::Exception)
virtual

This method is typically the first step of renumbering. The implementation is empty it is not a bug only gauss is impacted virtualy by this method.

Reimplemented in ParaMEDMEM::MEDCouplingFieldDiscretizationPerCell.

virtual void ParaMEDMEM::MEDCouplingFieldDiscretization::renumberArraysForCell ( const MEDCouplingMesh mesh,
const std::vector< DataArrayDouble * > &  arrays,
const int *  old2NewBg,
bool  check 
) throw (INTERP_KERNEL::Exception)
pure virtual
double MEDCouplingFieldDiscretization::getIJK ( const MEDCouplingMesh mesh,
const DataArrayDouble da,
int  cellId,
int  nodeIdInCell,
int  compoId 
) const throw (INTERP_KERNEL::Exception)
virtual
virtual void ParaMEDMEM::MEDCouplingFieldDiscretization::checkCoherencyBetween ( const MEDCouplingMesh mesh,
const DataArrayDouble da 
) const throw (INTERP_KERNEL::Exception)
pure virtual
virtual MEDCouplingFieldDouble* ParaMEDMEM::MEDCouplingFieldDiscretization::getMeasureField ( const MEDCouplingMesh mesh,
bool  isAbs 
) const
pure virtual
virtual void ParaMEDMEM::MEDCouplingFieldDiscretization::getValueOn ( const DataArrayDouble arr,
const MEDCouplingMesh mesh,
const double *  loc,
double *  res 
) const
pure virtual
virtual void ParaMEDMEM::MEDCouplingFieldDiscretization::getValueOnPos ( const DataArrayDouble arr,
const MEDCouplingMesh mesh,
int  i,
int  j,
int  k,
double *  res 
) const
pure virtual
virtual DataArrayDouble* ParaMEDMEM::MEDCouplingFieldDiscretization::getValueOnMulti ( const DataArrayDouble arr,
const MEDCouplingMesh mesh,
const double *  loc,
int  nbOfPoints 
) const
pure virtual
virtual MEDCouplingMesh* ParaMEDMEM::MEDCouplingFieldDiscretization::buildSubMeshData ( const MEDCouplingMesh mesh,
const int *  start,
const int *  end,
DataArrayInt *&  di 
) const
pure virtual
virtual void ParaMEDMEM::MEDCouplingFieldDiscretization::renumberValuesOnNodes ( double  epsOnVals,
const int *  old2New,
DataArrayDouble arr 
) const
pure virtual
virtual void ParaMEDMEM::MEDCouplingFieldDiscretization::renumberValuesOnCells ( double  epsOnVals,
const MEDCouplingMesh mesh,
const int *  old2New,
DataArrayDouble arr 
) const
pure virtual
virtual void ParaMEDMEM::MEDCouplingFieldDiscretization::renumberValuesOnCellsR ( const MEDCouplingMesh mesh,
const int *  new2old,
int  newSz,
DataArrayDouble arr 
) const
pure virtual
void MEDCouplingFieldDiscretization::getSerializationIntArray ( DataArrayInt *&  arr) const
virtual
void MEDCouplingFieldDiscretization::getTinySerializationIntInformation ( std::vector< int > &  tinyInfo) const
virtual
void MEDCouplingFieldDiscretization::getTinySerializationDbleInformation ( std::vector< double > &  tinyInfo) const
virtual
void MEDCouplingFieldDiscretization::finishUnserialization ( const std::vector< double > &  tinyInfo)
virtual
void MEDCouplingFieldDiscretization::resizeForUnserialization ( const std::vector< int > &  tinyInfo,
DataArrayInt *&  arr 
)
virtual
void MEDCouplingFieldDiscretization::setGaussLocalizationOnType ( const MEDCouplingMesh m,
INTERP_KERNEL::NormalizedCellType  type,
const std::vector< double > &  refCoo,
const std::vector< double > &  gsCoo,
const std::vector< double > &  wg 
) throw (INTERP_KERNEL::Exception)
virtual
void MEDCouplingFieldDiscretization::setGaussLocalizationOnCells ( const MEDCouplingMesh m,
const int *  begin,
const int *  end,
const std::vector< double > &  refCoo,
const std::vector< double > &  gsCoo,
const std::vector< double > &  wg 
) throw (INTERP_KERNEL::Exception)
virtual
void MEDCouplingFieldDiscretization::clearGaussLocalizations ( ) throw (INTERP_KERNEL::Exception)
virtual
MEDCouplingGaussLocalization & MEDCouplingFieldDiscretization::getGaussLocalization ( int  locId) throw (INTERP_KERNEL::Exception)
virtual
int MEDCouplingFieldDiscretization::getNbOfGaussLocalization ( ) const throw (INTERP_KERNEL::Exception)
virtual
int MEDCouplingFieldDiscretization::getGaussLocalizationIdOfOneCell ( int  cellId) const throw (INTERP_KERNEL::Exception)
virtual
int MEDCouplingFieldDiscretization::getGaussLocalizationIdOfOneType ( INTERP_KERNEL::NormalizedCellType  type) const throw (INTERP_KERNEL::Exception)
virtual
void MEDCouplingFieldDiscretization::getCellIdsHavingGaussLocalization ( int  locId,
std::vector< int > &  cellIds 
) const throw (INTERP_KERNEL::Exception)
virtual
const MEDCouplingGaussLocalization & MEDCouplingFieldDiscretization::getGaussLocalization ( int  locId) const throw (INTERP_KERNEL::Exception)
virtual
void MEDCouplingFieldDiscretization::renumberEntitiesFromO2NArr ( double  epsOnVals,
const int *  old2NewPtr,
DataArrayDouble arr,
const char *  msg 
)
staticprotected
void MEDCouplingFieldDiscretization::renumberEntitiesFromN2OArr ( const int *  new2OldPtr,
int  new2OldSz,
DataArrayDouble arr,
const char *  msg 
)
staticprotected

Member Data Documentation

double ParaMEDMEM::MEDCouplingFieldDiscretization::_precision
protected
const double MEDCouplingFieldDiscretization::DFLT_PRECISION = 1.e-12
staticprotected
Copyright © 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS