Version: 6.3.1

ParaMEDMEM::MEDCouplingFieldDiscretizationGauss Class Reference

Inheritance diagram for ParaMEDMEM::MEDCouplingFieldDiscretizationGauss:
Collaboration diagram for ParaMEDMEM::MEDCouplingFieldDiscretizationGauss:

List of all members.

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

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)

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]
const char * MEDCouplingFieldDiscretizationGauss::getStringRepr ( ) const [virtual]
int MEDCouplingFieldDiscretizationGauss::getNumberOfMeshPlaces ( 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]
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::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

Copyright © 2007-2011 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