Version: 5.1.6

ParaMEDMEM.MEDCouplingFieldDiscretization Class Reference

#include <MEDCouplingFieldDiscretization.hxx>

Inheritance diagram for ParaMEDMEM.MEDCouplingFieldDiscretization:
Inheritance graph

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 const char * getStringRepr () 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 ()
 MEDCouplingFieldDiscretization ()

Static Public Member Functions

static
MEDCouplingFieldDiscretization
New (TypeOfField type)
static TypeOfField getTypeOfFieldFromStringRepr (const char *repr) throw (INTERP_KERNEL::Exception)
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)

Data Fields

double _precision

Static Public Attributes

static const double DFLT_PRECISION = 1.e-12

Constructor & Destructor Documentation

MEDCouplingFieldDiscretization::~MEDCouplingFieldDiscretization (  )  [virtual]
MEDCouplingFieldDiscretization::MEDCouplingFieldDiscretization (  ) 

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 const char* ParaMEDMEM.MEDCouplingFieldDiscretization.getStringRepr (  )  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:
res output parameter expected to be of size arr->getNumberOfComponents();
Exceptions:
when the field discretization fails on getMeasure fields (gauss points for example)

References ParaMEDMEM.RefCountObject.decrRef(), MEDMEM.fill(), ParaMEDMEM.MEDCouplingFieldDouble.getArray(), ParaMEDMEM.DataArrayDouble.getConstPointer(), and MED_test2.mesh.

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

Computes normL2 of DataArrayDouble instance arr.

Parameters:
res output parameter expected to be of size arr->getNumberOfComponents();
Exceptions:
when the field discretization fails on getMeasure fields (gauss points for example)

References ParaMEDMEM.RefCountObject.decrRef(), MEDMEM.fill(), ParaMEDMEM.MEDCouplingFieldDouble.getArray(), ParaMEDMEM.DataArrayDouble.getConstPointer(), and MED_test2.mesh.

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:
res output parameter expected to be of size arr->getNumberOfComponents();
Exceptions:
when the field discretization fails on getMeasure fields (gauss points for example)

References ParaMEDMEM.RefCountObject.decrRef(), MEDMEM.fill(), ParaMEDMEM.MEDCouplingFieldDouble.getArray(), ParaMEDMEM.DataArrayDouble.getConstPointer(), and MED_test2.mesh.

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]

Empty : Not a bug

Reimplemented in ParaMEDMEM.MEDCouplingFieldDiscretizationGauss.

void MEDCouplingFieldDiscretization::getTinySerializationDbleInformation ( std::vector< double > &  tinyInfo  )  const [virtual]

Empty : Not a bug

Reimplemented in ParaMEDMEM.MEDCouplingFieldDiscretizationGauss.

void MEDCouplingFieldDiscretization::finishUnserialization ( const std::vector< double > &  tinyInfo  )  [virtual]

Empty : Not a bug

Reimplemented in ParaMEDMEM.MEDCouplingFieldDiscretizationGauss.

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 
) [static]
void MEDCouplingFieldDiscretization::renumberEntitiesFromN2OArr ( const int new2OldPtr,
int  new2OldSz,
DataArrayDouble arr,
const char *  msg 
) [static]

Field Documentation