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

Public Member Functions

 MEDCouplingFieldDiscretizationGauss ()
TypeOfField getEnum () const
bool isEqual (const MEDCouplingFieldDiscretization *other, double eps) const
bool isEqualWithoutConsideringStr (const MEDCouplingFieldDiscretization *other, double eps) const
MEDCouplingFieldDiscretizationclone () const
std::string getStringRepr () const
const char * getRepr () const
int getNumberOfTuples (const MEDCouplingMesh *mesh) const
int getNumberOfMeshPlaces (const MEDCouplingMesh *mesh) const
DataArrayIntgetOffsetArr (const MEDCouplingMesh *mesh) const
void renumberArraysForCell (const MEDCouplingMesh *mesh, const std::vector< DataArrayDouble * > &arrays, const int *old2NewBg, bool check) throw (INTERP_KERNEL::Exception)
DataArrayDoublegetLocalizationOfDiscValues (const MEDCouplingMesh *mesh) const
void computeMeshRestrictionFromTupleIds (const MEDCouplingMesh *mesh, const int *partBg, const int *partEnd, DataArrayInt *&cellRest)
void checkCompatibilityWithNature (NatureOfField nat) const throw (INTERP_KERNEL::Exception)
void getTinySerializationIntInformation (std::vector< int > &tinyInfo) const
void getTinySerializationDbleInformation (std::vector< double > &tinyInfo) const
void finishUnserialization (const std::vector< double > &tinyInfo)
void getSerializationIntArray (DataArrayInt *&arr) const
void resizeForUnserialization (const std::vector< int > &tinyInfo, DataArrayInt *&arr)
double getIJK (const MEDCouplingMesh *mesh, const DataArrayDouble *da, int cellId, int nodeIdInCell, int compoId) const throw (INTERP_KERNEL::Exception)
void checkCoherencyBetween (const MEDCouplingMesh *mesh, const DataArrayDouble *da) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetMeasureField (const MEDCouplingMesh *mesh, bool isAbs) const
void getValueOn (const DataArrayDouble *arr, const MEDCouplingMesh *mesh, const double *loc, double *res) const
void getValueOnPos (const DataArrayDouble *arr, const MEDCouplingMesh *mesh, int i, int j, int k, double *res) const
DataArrayDoublegetValueOnMulti (const DataArrayDouble *arr, const MEDCouplingMesh *mesh, const double *loc, int nbOfPoints) const
MEDCouplingMeshbuildSubMeshData (const MEDCouplingMesh *mesh, const int *start, const int *end, DataArrayInt *&di) const
void renumberValuesOnNodes (double epsOnVals, const int *old2New, DataArrayDouble *arr) const
void renumberValuesOnCells (double epsOnVals, const MEDCouplingMesh *mesh, const int *old2New, DataArrayDouble *arr) const
void renumberValuesOnCellsR (const MEDCouplingMesh *mesh, const int *new2old, int newSz, DataArrayDouble *arr) const
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)
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)
void clearGaussLocalizations () throw (INTERP_KERNEL::Exception)
MEDCouplingGaussLocalization & getGaussLocalization (int locId) throw (INTERP_KERNEL::Exception)
int getNbOfGaussLocalization () const throw (INTERP_KERNEL::Exception)
int getGaussLocalizationIdOfOneCell (int cellId) const throw (INTERP_KERNEL::Exception)
int getGaussLocalizationIdOfOneType (INTERP_KERNEL::NormalizedCellType type) const throw (INTERP_KERNEL::Exception)
void getCellIdsHavingGaussLocalization (int locId, std::vector< int > &cellIds) const throw (INTERP_KERNEL::Exception)
const
MEDCouplingGaussLocalization & 
getGaussLocalization (int locId) const throw (INTERP_KERNEL::Exception)
std::vector< DataArrayInt * > splitIntoSingleGaussDicrPerCellType (std::vector< std::vector< int > > &locIds) const throw (INTERP_KERNEL::Exception)
DataArrayIntbuildNbOfGaussPointPerCellField () const throw (INTERP_KERNEL::Exception)
- Public Member Functions inherited from ParaMEDMEM::MEDCouplingFieldDiscretizationPerCell
const DataArrayIntgetArrayOfDiscIds () const
- Public Member Functions inherited from ParaMEDMEM::MEDCouplingFieldDiscretization
double getPrecision () const
void setPrecision (double val)
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 ~MEDCouplingFieldDiscretization ()
- Public Member Functions inherited from ParaMEDMEM::TimeLabel
TimeLabeloperator= (const TimeLabel &other)
void declareAsNew () const
unsigned int getTimeOfThis () const

Static Public Attributes

static const char REPR [] = "GAUSS"
static const TypeOfField TYPE = ON_GAUSS_PT

Protected Member Functions

 MEDCouplingFieldDiscretizationGauss (const MEDCouplingFieldDiscretizationGauss &other)
void zipGaussLocalizations ()
int getOffsetOfCell (int cellId) const throw (INTERP_KERNEL::Exception)
void checkLocalizationId (int locId) const throw (INTERP_KERNEL::Exception)
- Protected Member Functions inherited from ParaMEDMEM::MEDCouplingFieldDiscretizationPerCell
 MEDCouplingFieldDiscretizationPerCell ()
 MEDCouplingFieldDiscretizationPerCell (const MEDCouplingFieldDiscretizationPerCell &other)
 ~MEDCouplingFieldDiscretizationPerCell ()
void updateTime () const
void renumberCells (const int *old2NewBg, bool check) throw (INTERP_KERNEL::Exception)
void checkNoOrphanCells () const throw (INTERP_KERNEL::Exception)
void buildDiscrPerCellIfNecessary (const MEDCouplingMesh *m)
- Protected Member Functions inherited from ParaMEDMEM::MEDCouplingFieldDiscretization
 MEDCouplingFieldDiscretization ()
- Protected Member Functions inherited from ParaMEDMEM::TimeLabel
 TimeLabel ()
virtual ~TimeLabel ()
void updateTimeWith (const TimeLabel &other) const

Additional Inherited Members

- Static Public Member Functions inherited from ParaMEDMEM::MEDCouplingFieldDiscretization
static
MEDCouplingFieldDiscretization
New (TypeOfField type)
static TypeOfField getTypeOfFieldFromStringRepr (const char *repr) throw (INTERP_KERNEL::Exception)
- Static Protected Member Functions inherited from ParaMEDMEM::MEDCouplingFieldDiscretization
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 inherited from ParaMEDMEM::MEDCouplingFieldDiscretizationPerCell
DataArrayInt_discr_per_cell
- Static Protected Attributes inherited from ParaMEDMEM::MEDCouplingFieldDiscretizationPerCell
static const int DFT_INVALID_LOCID_VALUE = -1

Constructor & Destructor Documentation

MEDCouplingFieldDiscretizationGauss::MEDCouplingFieldDiscretizationGauss ( )

Referenced by clone().

MEDCouplingFieldDiscretizationGauss::MEDCouplingFieldDiscretizationGauss ( const MEDCouplingFieldDiscretizationGauss other)
protected

Member Function Documentation

TypeOfField MEDCouplingFieldDiscretizationGauss::getEnum ( ) const
virtual
bool MEDCouplingFieldDiscretizationGauss::isEqual ( const MEDCouplingFieldDiscretization other,
double  eps 
) const
virtual
bool MEDCouplingFieldDiscretizationGauss::isEqualWithoutConsideringStr ( const MEDCouplingFieldDiscretization other,
double  eps 
) const
virtual
MEDCouplingFieldDiscretization * MEDCouplingFieldDiscretizationGauss::clone ( ) const
virtual
std::string MEDCouplingFieldDiscretizationGauss::getStringRepr ( ) const
virtual
const char * MEDCouplingFieldDiscretizationGauss::getRepr ( ) const
virtual
int MEDCouplingFieldDiscretizationGauss::getNumberOfTuples ( const MEDCouplingMesh mesh) const
virtual
int MEDCouplingFieldDiscretizationGauss::getNumberOfMeshPlaces ( const MEDCouplingMesh mesh) const
virtual
DataArrayInt * MEDCouplingFieldDiscretizationGauss::getOffsetArr ( const MEDCouplingMesh mesh) const
virtual
void MEDCouplingFieldDiscretizationGauss::renumberArraysForCell ( const MEDCouplingMesh mesh,
const std::vector< DataArrayDouble * > &  arrays,
const int *  old2NewBg,
bool  check 
) throw (INTERP_KERNEL::Exception)
virtual
DataArrayDouble * MEDCouplingFieldDiscretizationGauss::getLocalizationOfDiscValues ( const MEDCouplingMesh mesh) const
virtual
void MEDCouplingFieldDiscretizationGauss::computeMeshRestrictionFromTupleIds ( const MEDCouplingMesh mesh,
const int *  partBg,
const int *  partEnd,
DataArrayInt *&  cellRest 
)
virtual
void MEDCouplingFieldDiscretizationGauss::checkCompatibilityWithNature ( NatureOfField  nat) const throw (INTERP_KERNEL::Exception)
virtual

Empty : not a bug

Implements ParaMEDMEM::MEDCouplingFieldDiscretization.

void MEDCouplingFieldDiscretizationGauss::getTinySerializationIntInformation ( std::vector< int > &  tinyInfo) const
virtual
void MEDCouplingFieldDiscretizationGauss::getTinySerializationDbleInformation ( std::vector< double > &  tinyInfo) const
virtual

Empty : Not a bug

Reimplemented from ParaMEDMEM::MEDCouplingFieldDiscretization.

void MEDCouplingFieldDiscretizationGauss::finishUnserialization ( const std::vector< double > &  tinyInfo)
virtual

Empty : Not a bug

Reimplemented from ParaMEDMEM::MEDCouplingFieldDiscretization.

void MEDCouplingFieldDiscretizationGauss::getSerializationIntArray ( DataArrayInt *&  arr) const
virtual
void MEDCouplingFieldDiscretizationGauss::resizeForUnserialization ( const std::vector< int > &  tinyInfo,
DataArrayInt *&  arr 
)
virtual
double MEDCouplingFieldDiscretizationGauss::getIJK ( const MEDCouplingMesh mesh,
const DataArrayDouble da,
int  cellId,
int  nodeIdInCell,
int  compoId 
) const throw (INTERP_KERNEL::Exception)
virtual
void MEDCouplingFieldDiscretizationGauss::checkCoherencyBetween ( const MEDCouplingMesh mesh,
const DataArrayDouble da 
) const throw (INTERP_KERNEL::Exception)
virtual
MEDCouplingFieldDouble * MEDCouplingFieldDiscretizationGauss::getMeasureField ( const MEDCouplingMesh mesh,
bool  isAbs 
) const
virtual
void MEDCouplingFieldDiscretizationGauss::getValueOn ( const DataArrayDouble arr,
const MEDCouplingMesh mesh,
const double *  loc,
double *  res 
) const
virtual
void MEDCouplingFieldDiscretizationGauss::getValueOnPos ( const DataArrayDouble arr,
const MEDCouplingMesh mesh,
int  i,
int  j,
int  k,
double *  res 
) const
virtual
DataArrayDouble * MEDCouplingFieldDiscretizationGauss::getValueOnMulti ( const DataArrayDouble arr,
const MEDCouplingMesh mesh,
const double *  loc,
int  nbOfPoints 
) const
virtual
MEDCouplingMesh * MEDCouplingFieldDiscretizationGauss::buildSubMeshData ( const MEDCouplingMesh mesh,
const int *  start,
const int *  end,
DataArrayInt *&  di 
) const
virtual
void MEDCouplingFieldDiscretizationGauss::renumberValuesOnNodes ( double  epsOnVals,
const int *  old2New,
DataArrayDouble arr 
) const
virtual

No implementation needed !

Implements ParaMEDMEM::MEDCouplingFieldDiscretization.

void MEDCouplingFieldDiscretizationGauss::renumberValuesOnCells ( double  epsOnVals,
const MEDCouplingMesh mesh,
const int *  old2New,
DataArrayDouble arr 
) const
virtual
void MEDCouplingFieldDiscretizationGauss::renumberValuesOnCellsR ( const MEDCouplingMesh mesh,
const int *  new2old,
int  newSz,
DataArrayDouble arr 
) const
virtual
void MEDCouplingFieldDiscretizationGauss::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 MEDCouplingFieldDiscretizationGauss::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 MEDCouplingFieldDiscretizationGauss::clearGaussLocalizations ( ) throw (INTERP_KERNEL::Exception)
virtual
MEDCouplingGaussLocalization & MEDCouplingFieldDiscretizationGauss::getGaussLocalization ( int  locId) throw (INTERP_KERNEL::Exception)
virtual
int MEDCouplingFieldDiscretizationGauss::getNbOfGaussLocalization ( ) const throw (INTERP_KERNEL::Exception)
virtual
int MEDCouplingFieldDiscretizationGauss::getGaussLocalizationIdOfOneCell ( int  cellId) const throw (INTERP_KERNEL::Exception)
virtual
int MEDCouplingFieldDiscretizationGauss::getGaussLocalizationIdOfOneType ( INTERP_KERNEL::NormalizedCellType  type) const throw (INTERP_KERNEL::Exception)
virtual
void MEDCouplingFieldDiscretizationGauss::getCellIdsHavingGaussLocalization ( int  locId,
std::vector< int > &  cellIds 
) const throw (INTERP_KERNEL::Exception)
virtual
const MEDCouplingGaussLocalization & MEDCouplingFieldDiscretizationGauss::getGaussLocalization ( int  locId) const throw (INTERP_KERNEL::Exception)
virtual
std::vector< DataArrayInt * > MEDCouplingFieldDiscretizationGauss::splitIntoSingleGaussDicrPerCellType ( std::vector< std::vector< int > > &  locIds) const throw (INTERP_KERNEL::Exception)

This method is usefull when 'this' describes a field discretization with several gauss discretization on a same cell type. For example same NORM_TRI3 cells having 6 gauss points and others with 12 gauss points. This method returns 2 arrays with same size : the return value and 'locIds' output parameter. For a given i into [0,locIds.size) ret[i] represents the set of cell ids of i_th set an locIds[i] represents the set of discretisation of the set. The return vector contains a set of newly created instance to deal with. The returned vector represents a partition of cells ids with a gauss discretization set.

If no descretization is set in 'this' and exception will be thrown.

References ParaMEDMEM::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, ParaMEDMEM::DataArrayInt::alloc(), ParaMEDMEM::DataArrayInt::back(), ParaMEDMEM::DataArrayInt::getConstPointer(), ParaMEDMEM::DataArrayInt::getIdsNotEqual(), ParaMEDMEM::DataArray::getNumberOfTuples(), ParaMEDMEM::DataArrayInt::getPointer(), and ParaMEDMEM::MEDCouplingFieldDiscretization::New().

Referenced by getLocalizationOfDiscValues().

DataArrayInt * MEDCouplingFieldDiscretizationGauss::buildNbOfGaussPointPerCellField ( ) const throw (INTERP_KERNEL::Exception)

This method do the assumption that there is no orphan cell. If there is an exception is thrown. This method makes the assumption too that '_discr_per_cell' is defined. If not an exception is thrown. This method returns a newly created array with number of tuples equals to '_discr_per_cell->getNumberOfTuples' and number of components equal to 1. The i_th tuple in returned array is the number of gauss point if the corresponding cell.

References ParaMEDMEM::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, ParaMEDMEM::MEDCouplingFieldDiscretizationPerCell::DFT_INVALID_LOCID_VALUE, ParaMEDMEM::DataArrayInt::getConstPointer(), ParaMEDMEM::DataArray::getNumberOfTuples(), and ParaMEDMEM::MEDCouplingFieldDiscretization::New().

Referenced by getLocalizationOfDiscValues().

void MEDCouplingFieldDiscretizationGauss::zipGaussLocalizations ( )
protected

This method makes the assumption that _discr_per_cell is set. This method reduces as much as possible number size of _loc. This method is usefull when several set on same cells has been done and that some Gauss Localization are no more used.

References ParaMEDMEM::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, ParaMEDMEM::DataArrayInt::getConstPointer(), ParaMEDMEM::DataArray::getNumberOfTuples(), and ParaMEDMEM::DataArrayInt::getPointer().

int MEDCouplingFieldDiscretizationGauss::getOffsetOfCell ( int  cellId) const throw (INTERP_KERNEL::Exception)
protected
void MEDCouplingFieldDiscretizationGauss::checkLocalizationId ( int  locId) const throw (INTERP_KERNEL::Exception)
protected

Member Data Documentation

const char MEDCouplingFieldDiscretizationGauss::REPR = "GAUSS"
static
const TypeOfField MEDCouplingFieldDiscretizationGauss::TYPE = ON_GAUSS_PT
static
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