

Public Member Functions | |
| MCAuto< MEDCouplingFieldDiscretization > | aggregate (std::vector< const MEDCouplingFieldDiscretization * > &fds) const override |
| DataArrayIdType * | buildNbOfGaussPointPerCellField () const |
| MEDCouplingMesh * | buildSubMeshData (const MEDCouplingMesh *mesh, const mcIdType *start, const mcIdType *end, DataArrayIdType *&di) const |
| MEDCouplingMesh * | buildSubMeshDataRange (const MEDCouplingMesh *mesh, mcIdType beginCellIds, mcIdType endCellIds, mcIdType stepCellIds, mcIdType &beginOut, mcIdType &endOut, mcIdType &stepOut, DataArrayIdType *&di) const |
| void | checkCoherencyBetween (const MEDCouplingMesh *mesh, const DataArray *da) const |
| void | checkCompatibilityWithNature (NatureOfField nat) const override |
| void | checkForUnserialization (const std::vector< mcIdType > &tinyInfo, const DataArrayIdType *arr) |
| void | clearGaussLocalizations () |
| MEDCouplingFieldDiscretization * | clone () const override |
| MEDCouplingFieldDiscretization * | clonePart (const mcIdType *startCellIds, const mcIdType *endCellIds) const |
| MEDCouplingFieldDiscretization * | clonePartRange (mcIdType beginCellIds, mcIdType endCellIds, mcIdType stepCellIds) const |
| void | computeMeshRestrictionFromTupleIds (const MEDCouplingMesh *mesh, const mcIdType *tupleIdsBg, const mcIdType *tupleIdsEnd, DataArrayIdType *&cellRestriction, DataArrayIdType *&trueTupleRestriction) const |
| DataArrayIdType * | computeTupleIdsToSelectFromCellIds (const MEDCouplingMesh *mesh, const mcIdType *startCellIds, const mcIdType *endCellIds) const |
| void | finishUnserialization (const std::vector< double > &tinyInfo) |
| void | getCellIdsHavingGaussLocalization (mcIdType locId, std::vector< mcIdType > &cellIds) const |
| std::string | getClassName () const override |
| TypeOfField | getEnum () const |
| MEDCouplingGaussLocalization & | getGaussLocalization (mcIdType locId) |
| const MEDCouplingGaussLocalization & | getGaussLocalization (mcIdType locId) const |
| mcIdType | getGaussLocalizationIdOfOneCell (mcIdType cellId) const |
| mcIdType | getGaussLocalizationIdOfOneType (INTERP_KERNEL::NormalizedCellType type) const |
| std::set< mcIdType > | getGaussLocalizationIdsOfOneType (INTERP_KERNEL::NormalizedCellType type) const |
| std::size_t | getHeapMemorySizeWithoutChildren () const |
| double | getIJK (const MEDCouplingMesh *mesh, const DataArrayDouble *da, mcIdType cellId, mcIdType nodeIdInCell, int compoId) const |
| DataArrayDouble * | getLocalizationOfDiscValues (const MEDCouplingMesh *mesh) const |
| MEDCouplingFieldDouble * | getMeasureField (const MEDCouplingMesh *mesh, bool isAbs) const override |
| mcIdType | getNbOfGaussLocalization () const |
| mcIdType | getNumberOfMeshPlaces (const MEDCouplingMesh *mesh) const |
| mcIdType | getNumberOfTuples (const MEDCouplingMesh *mesh) const |
| mcIdType | getNumberOfTuplesExpectedRegardingCode (const std::vector< mcIdType > &code, const std::vector< const DataArrayIdType * > &idsPerType) const |
| DataArrayIdType * | getOffsetArr (const MEDCouplingMesh *mesh) const |
| const char * | getRepr () const |
| void | getSerializationIntArray (DataArrayIdType *&arr) const |
| std::string | getStringRepr () const |
| void | getTinySerializationDbleInformation (std::vector< double > &tinyInfo) const |
| void | getTinySerializationIntInformation (std::vector< mcIdType > &tinyInfo) const |
| void | getValueOn (const DataArrayDouble *arr, const MEDCouplingMesh *mesh, const double *loc, double *res) const override |
| DataArrayDouble * | getValueOnMulti (const DataArrayDouble *arr, const MEDCouplingMesh *mesh, const double *loc, mcIdType nbOfPoints) const override |
| void | getValueOnPos (const DataArrayDouble *arr, const MEDCouplingMesh *mesh, mcIdType i, mcIdType j, mcIdType k, double *res) const |
| bool | isEqualIfNotWhy (const MEDCouplingFieldDiscretization *other, double eps, std::string &reason) const override |
| bool | isEqualWithoutConsideringStr (const MEDCouplingFieldDiscretization *other, double eps) const |
| MEDCouplingFieldDiscretizationGauss () | |
| void | renumberArraysForCell (const MEDCouplingMesh *mesh, const std::vector< DataArray * > &arrays, const mcIdType *old2NewBg, bool check) |
| void | renumberValuesOnCells (double epsOnVals, const MEDCouplingMesh *mesh, const mcIdType *old2New, mcIdType newSz, DataArrayDouble *arr) const |
| void | renumberValuesOnCellsR (const MEDCouplingMesh *mesh, const mcIdType *new2old, mcIdType newSz, DataArrayDouble *arr) const |
| void | renumberValuesOnNodes (double epsOnVals, const mcIdType *old2New, mcIdType newNbOfNodes, DataArrayDouble *arr) const |
| void | reprQuickOverview (std::ostream &stream) const |
| void | resizeForUnserialization (const std::vector< mcIdType > &tinyInfo, DataArrayIdType *&arr) |
| void | resizeLocalizationVector (mcIdType newSz) |
| void | setGaussLocalization (mcIdType locId, const MEDCouplingGaussLocalization &loc) |
| void | setGaussLocalizationOnCells (const MEDCouplingMesh *mesh, const mcIdType *begin, const mcIdType *end, const std::vector< double > &refCoo, const std::vector< double > &gsCoo, const std::vector< double > &wg) |
| void | setGaussLocalizationOnType (const MEDCouplingMesh *mesh, INTERP_KERNEL::NormalizedCellType type, const std::vector< double > &refCoo, const std::vector< double > &gsCoo, const std::vector< double > &wg) |
Public Member Functions inherited from MEDCoupling::MEDCouplingFieldDiscretizationPerCell | |
| void | checkNoOrphanCells () const |
| const DataArrayIdType * | getArrayOfDiscIds () const |
| void | setArrayOfDiscIds (const DataArrayIdType *adids) |
| std::vector< DataArrayIdType * > | splitIntoSingleGaussDicrPerCellType (std::vector< mcIdType > &locIds) const |
Public Member Functions inherited from MEDCoupling::MEDCouplingFieldDiscretization | |
| virtual MEDCouplingFieldDiscretization * | deepCopy () const |
| double | getPrecision () const |
| virtual void | integral (const MEDCouplingMesh *mesh, const DataArrayDouble *arr, bool isWAbs, double *res) const |
| virtual bool | isEqual (const MEDCouplingFieldDiscretization *other, double eps) const |
| virtual void | normL1 (const MEDCouplingMesh *mesh, const DataArrayDouble *arr, double *res) const |
| virtual void | normL2 (const MEDCouplingMesh *mesh, const DataArrayDouble *arr, double *res) const |
| void | setPrecision (double val) |
| virtual | ~MEDCouplingFieldDiscretization () |
Public Member Functions inherited from MEDCoupling::RefCountObjectOnly | |
| bool | decrRef () const |
| int | getRCValue () const |
| void | incrRef () const |
| RefCountObjectOnly & | operator= (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 |
| TimeLabel & | operator= (const TimeLabel &other) |
| TimeLabel (const TimeLabel &other)=default | |
Static Public Attributes | |
| static const char | REPR [] = "GAUSS" |
| static constexpr TypeOfField | TYPE = ON_GAUSS_PT |
Additional Inherited Members | |
Static Public Member Functions inherited from MEDCoupling::MEDCouplingFieldDiscretization | |
| static TypeOfField | GetTypeOfFieldFromStringRepr (const std::string &repr) |
| static std::string | GetTypeOfFieldRepr (TypeOfField type) |
| static MEDCouplingFieldDiscretization * | New (TypeOfField type) |
Static Public Member Functions inherited from MEDCoupling::BigMemoryObject | |
| static std::size_t | GetHeapMemorySizeOfObjs (const std::vector< const BigMemoryObject * > &objs) |
Static Protected Member Functions inherited from MEDCoupling::MEDCouplingFieldDiscretization | |
| template<class FIELD_DISC > | |
| static MCAuto< MEDCouplingFieldDiscretization > | EasyAggregate (std::vector< const MEDCouplingFieldDiscretization * > &fds) |
| static void | RenumberEntitiesFromN2OArr (const mcIdType *new2OldPtr, mcIdType new2OldSz, DataArrayDouble *arr, const std::string &msg) |
| static void | RenumberEntitiesFromO2NArr (double epsOnVals, const mcIdType *old2NewPtr, mcIdType newNbOfEntity, DataArrayDouble *arr, const std::string &msg) |
Protected Attributes inherited from MEDCoupling::MEDCouplingFieldDiscretizationPerCell | |
| DataArrayIdType * | _discr_per_cell |
Protected Attributes inherited from MEDCoupling::MEDCouplingFieldDiscretization | |
| double | _precision |
Static Protected Attributes inherited from MEDCoupling::MEDCouplingFieldDiscretizationPerCell | |
| static const mcIdType | DFT_INVALID_LOCID_VALUE = -1 |
Static Protected Attributes inherited from MEDCoupling::MEDCouplingFieldDiscretization | |
| static const double | DFLT_PRECISION = 1.e-12 |
| MEDCouplingFieldDiscretizationGauss::MEDCouplingFieldDiscretizationGauss | ( | ) |
Referenced by aggregate(), clone(), clonePart(), and clonePartRange().
|
protected |
|
protected |
|
protected |
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References TYPE.
|
overridevirtual |
Reimplemented from MEDCoupling::BigMemoryObject.
|
overridevirtual |
|
virtual |
|
overridevirtual |
This method is simply called by MEDCouplingFieldDiscretization::deepCopy. It performs the deep copy of this.
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCouplingFieldDiscretizationGauss().
|
virtual |
For all field discretization excepted GaussPts the [ startCellIds, endCellIds ) has no impact on the cloned instance.
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCouplingFieldDiscretizationGauss().
|
virtual |
For all field discretization excepted GaussPts the slice( beginCellId, endCellIds, stepCellId ) has no impact on the cloned instance.
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCouplingFieldDiscretizationGauss().
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, and REPR.
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References REPR.
|
virtual |
|
virtual |
This method returns the number of tuples regarding exclusively the input code without using a mesh in input. The input code coherency is also checked regarding spatial discretization of this. If an incoherency is detected, an exception will be thrown. If the input code is coherent, the number of tuples expected is returned. The number of tuples expected is equal to those to have a valid field lying on this and having a mesh fitting perfectly the input code (geometric type distribution).
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, and getNumberOfTuples().
|
virtual |
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingMesh::getNumberOfCells().
|
virtual |
This method is redevelopped for performance reasons, but it is equivalent to a call to MEDCouplingFieldDiscretizationGauss::buildNbOfGaussPointPerCellField and a call to DataArrayDouble::computeOffsetsFull on the returned array.
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, and MEDCoupling::MEDCouplingMesh::getNumberOfCells().
Referenced by getMeasureField().
|
virtual |
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References buildNbOfGaussPointPerCellField(), MEDCoupling::MEDCouplingMesh::buildUnstructured(), MEDCoupling::MEDCouplingFieldDiscretizationPerCell::checkNoOrphanCells(), MEDCoupling::MEDCouplingGaussLocalization::getGaussCoords(), getNumberOfTuples(), MEDCoupling::MEDCouplingGaussLocalization::getRefCoords(), MEDCoupling::MEDCouplingMesh::getSpaceDimension(), MEDCoupling::MEDCouplingGaussLocalization::getType(), MEDCoupling::MEDCouplingGaussLocalization::getWeights(), MEDCoupling::DataArrayDouble::New(), and MEDCoupling::MEDCouplingFieldDiscretizationPerCell::splitIntoSingleGaussDicrPerCellType().
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References buildNbOfGaussPointPerCellField().
|
overridevirtual |
Empty : not a bug
Implements MEDCoupling::MEDCouplingFieldDiscretization.
|
virtual |
Empty : Not a bug
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell.
|
virtual |
Empty : Not a bug
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
|
virtual |
Empty : Not a bug
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell.
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, and commonUnserialization().
|
virtual |
Empty : Not a bug
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, and commonUnserialization().
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::DataArrayTemplate< T >::getIJ(), and getOffsetOfCell().
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretizationPerCell.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, MEDCoupling::MEDCouplingFieldDiscretizationPerCell::checkCoherencyBetween(), MEDCoupling::MEDCouplingMesh::getName(), MEDCoupling::MEDCouplingMesh::getNumberOfCells(), MEDCoupling::DataArray::getNumberOfTuples(), getNumberOfTuples(), and MEDCoupling::MEDCouplingMesh::getTypeOfCell().
|
overridevirtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, MEDCoupling::MEDCouplingMesh::buildUnstructured(), MEDCoupling::MEDCouplingGaussLocalization::getDerivativeOfShapeFunctionValues(), MEDCoupling::MEDCouplingGaussLocalization::getDimension(), MEDCoupling::MEDCouplingMesh::getMeshDimension(), MEDCoupling::MEDCouplingMesh::getNumberOfCells(), MEDCoupling::MEDCouplingGaussLocalization::getNumberOfGaussPt(), getNumberOfTuples(), getOffsetArr(), MEDCoupling::MEDCouplingMesh::getSpaceDimension(), MEDCoupling::MEDCouplingGaussLocalization::getWeight(), MEDCoupling::DataArrayDouble::New(), MEDCoupling::MEDCouplingFieldDouble::New(), MEDCoupling::ON_GAUSS_PT, and MEDCoupling::MEDCouplingFieldDiscretizationPerCell::splitIntoSingleGaussDicrPerCellType().
|
overridevirtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
|
overridevirtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingMesh::buildPart(), and computeTupleIdsToSelectFromCellIds().
|
virtual |
This method is strictly equivalent to MEDCouplingFieldDiscretizationGauss::buildSubMeshData except that it is optimized for input defined as a range of cell ids.
| [out] | beginOut | Valid only if di is NULL |
| [out] | endOut | Valid only if di is NULL |
| [out] | stepOut | Valid only if di is NULL |
| [out] | di | is an array returned that specifies entity ids (nodes, cells, Gauss points... ) in array if no output range is foundable. |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, MEDCoupling::MEDCouplingMesh::buildPartRange(), MEDCoupling::MEDCouplingFieldDiscretization::buildSubMeshDataRange(), and MEDCoupling::MEDCouplingFieldDiscretizationPerCell::DFT_INVALID_LOCID_VALUE.
|
virtual |
This method returns a tuple ids selection from cell ids selection [start;end). This method is called by MEDCouplingFieldDiscretizationGauss::buildSubMeshData to return parameter di.
Implements MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, buildNbOfGaussPointPerCellField(), MEDCoupling::CPP_DEALLOC, and MEDCoupling::MEDCouplingMesh::getNumberOfCells().
Referenced by buildSubMeshData().
|
virtual |
No implementation needed !
Implements MEDCoupling::MEDCouplingFieldDiscretization.
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
|
overridevirtual |
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, MEDCoupling::MEDCouplingFieldDiscretizationPerCell::buildDiscrPerCellIfNecessary(), MEDCoupling::MEDCouplingMesh::getMeshDimension(), MEDCoupling::MEDCouplingMesh::getNumberOfCells(), MEDCoupling::MEDCouplingMesh::getTypeOfCell(), and zipGaussLocalizations().
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, MEDCoupling::MEDCouplingFieldDiscretizationPerCell::buildDiscrPerCellIfNecessary(), MEDCoupling::MEDCouplingMesh::getTypeOfCell(), and zipGaussLocalizations().
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell.
| void MEDCouplingFieldDiscretizationGauss::setGaussLocalization | ( | mcIdType | locId, |
| const MEDCouplingGaussLocalization & | loc | ||
| ) |
| void MEDCouplingFieldDiscretizationGauss::resizeLocalizationVector | ( | mcIdType | newSz | ) |
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References checkLocalizationId().
Referenced by MEDCoupling::MEDCouplingFieldDouble::convertQuadraticCellsToLinear().
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell.
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References getGaussLocalizationIdsOfOneType().
Referenced by MEDCoupling::MEDCouplingFieldDouble::convertQuadraticCellsToLinear().
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell.
Referenced by getGaussLocalizationIdOfOneType().
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell.
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingFieldDiscretization.
References checkLocalizationId().
| DataArrayIdType * MEDCouplingFieldDiscretizationGauss::buildNbOfGaussPointPerCellField | ( | ) | const |
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 MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell, and MEDCoupling::MEDCouplingFieldDiscretizationPerCell::DFT_INVALID_LOCID_VALUE.
Referenced by computeMeshRestrictionFromTupleIds(), computeTupleIdsToSelectFromCellIds(), and getLocalizationOfDiscValues().
|
virtual |
Implements MEDCoupling::MEDCouplingFieldDiscretization.
|
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 useful when several set on same cells has been done and that some Gauss Localization are no more used.
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell.
Referenced by setGaussLocalizationOnCells(), and setGaussLocalizationOnType().
|
protected |
References MEDCoupling::MEDCouplingFieldDiscretizationPerCell::_discr_per_cell.
Referenced by getIJK().
|
protected |
Referenced by getGaussLocalization().
|
protected |
References MEDCoupling::MEDCouplingGaussLocalization::BuildNewInstanceFromTinyInfo().
Referenced by checkForUnserialization(), and resizeForUnserialization().
|
static |
|
staticconstexpr |