Public Member Functions | |
void | setTimeUnit (const char *unit) |
const char * | getTimeUnit () const |
void | copyTinyStringsFrom (const MEDCouplingFieldDouble *other) throw (INTERP_KERNEL::Exception) |
void | copyTinyAttrFrom (const MEDCouplingFieldDouble *other) throw (INTERP_KERNEL::Exception) |
std::string | simpleRepr () const |
std::string | advancedRepr () const |
bool | isEqual (const MEDCouplingField *other, double meshPrec, double valsPrec) const |
bool | isEqualWithoutConsideringStr (const MEDCouplingField *other, double meshPrec, double valsPrec) const |
bool | areCompatibleForMerge (const MEDCouplingField *other) const |
bool | areStrictlyCompatible (const MEDCouplingField *other) const |
bool | areCompatibleForMul (const MEDCouplingField *other) const |
bool | areCompatibleForDiv (const MEDCouplingField *other) const |
bool | areCompatibleForMeld (const MEDCouplingFieldDouble *other) const |
void | renumberCells (const int *old2NewBg, bool check) throw (INTERP_KERNEL::Exception) |
void | renumberCellsWithoutMesh (const int *old2NewBg, bool check) throw (INTERP_KERNEL::Exception) |
void | renumberNodes (const int *old2NewBg) throw (INTERP_KERNEL::Exception) |
void | renumberNodesWithoutMesh (const int *old2NewBg, double eps=1e-15) throw (INTERP_KERNEL::Exception) |
DataArrayInt * | getIdsInRange (double vmin, double vmax) const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | buildSubPart (const DataArrayInt *part) const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | buildSubPart (const int *partBg, const int *partEnd) const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | deepCpy () const |
MEDCouplingFieldDouble * | clone (bool recDeepCpy) const |
MEDCouplingFieldDouble * | cloneWithMesh (bool recDeepCpy) const |
MEDCouplingFieldDouble * | buildNewTimeReprFromThis (TypeOfTimeDiscretization td, bool deepCopy) const |
TypeOfTimeDiscretization | getTimeDiscretization () const |
void | checkCoherency () const throw (INTERP_KERNEL::Exception) |
void | setNature (NatureOfField nat) throw (INTERP_KERNEL::Exception) |
void | setTimeTolerance (double val) |
double | getTimeTolerance () const |
void | setIteration (int it) throw (INTERP_KERNEL::Exception) |
void | setEndIteration (int it) throw (INTERP_KERNEL::Exception) |
void | setOrder (int order) throw (INTERP_KERNEL::Exception) |
void | setEndOrder (int order) throw (INTERP_KERNEL::Exception) |
void | setTimeValue (double val) throw (INTERP_KERNEL::Exception) |
void | setEndTimeValue (double val) throw (INTERP_KERNEL::Exception) |
void | setTime (double val, int iteration, int order) |
void | setStartTime (double val, int iteration, int order) |
void | setEndTime (double val, int iteration, int order) |
double | getTime (int &iteration, int &order) const |
double | getStartTime (int &iteration, int &order) const |
double | getEndTime (int &iteration, int &order) const |
double | getIJ (int tupleId, int compoId) const |
double | getIJK (int cellId, int nodeIdInCell, int compoId) const |
void | setArray (DataArrayDouble *array) |
void | setEndArray (DataArrayDouble *array) |
void | setArrays (const std::vector< DataArrayDouble * > &arrs) throw (INTERP_KERNEL::Exception) |
const DataArrayDouble * | getArray () const |
DataArrayDouble * | getArray () |
const DataArrayDouble * | getEndArray () const |
DataArrayDouble * | getEndArray () |
std::vector< DataArrayDouble * > | getArrays () const |
double | accumulate (int compId) const |
void | accumulate (double *res) const |
double | getMaxValue () const throw (INTERP_KERNEL::Exception) |
double | getMaxValue2 (DataArrayInt *&tupleIds) const throw (INTERP_KERNEL::Exception) |
double | getMinValue () const throw (INTERP_KERNEL::Exception) |
double | getMinValue2 (DataArrayInt *&tupleIds) const throw (INTERP_KERNEL::Exception) |
double | getAverageValue () const throw (INTERP_KERNEL::Exception) |
double | norm2 () const throw (INTERP_KERNEL::Exception) |
double | normMax () const throw (INTERP_KERNEL::Exception) |
double | getWeightedAverageValue () const throw (INTERP_KERNEL::Exception) |
double | normL1 (int compId) const throw (INTERP_KERNEL::Exception) |
void | normL1 (double *res) const throw (INTERP_KERNEL::Exception) |
double | normL2 (int compId) const throw (INTERP_KERNEL::Exception) |
void | normL2 (double *res) const throw (INTERP_KERNEL::Exception) |
double | integral (int compId, bool isWAbs) const throw (INTERP_KERNEL::Exception) |
void | integral (bool isWAbs, double *res) const throw (INTERP_KERNEL::Exception) |
void | getValueOnPos (int i, int j, int k, double *res) const throw (INTERP_KERNEL::Exception) |
void | getValueOn (const double *spaceLoc, double *res) const throw (INTERP_KERNEL::Exception) |
void | getValueOn (const double *spaceLoc, double time, double *res) const throw (INTERP_KERNEL::Exception) |
DataArrayDouble * | getValueOnMulti (const double *spaceLoc, int nbOfPoints) const throw (INTERP_KERNEL::Exception) |
void | applyLin (double a, double b, int compoId) |
MEDCouplingFieldDouble & | operator= (double value) throw (INTERP_KERNEL::Exception) |
void | fillFromAnalytic (int nbOfComp, FunctionToEvaluate func) throw (INTERP_KERNEL::Exception) |
void | fillFromAnalytic (int nbOfComp, const char *func) throw (INTERP_KERNEL::Exception) |
void | fillFromAnalytic2 (int nbOfComp, const char *func) throw (INTERP_KERNEL::Exception) |
void | fillFromAnalytic3 (int nbOfComp, const std::vector< std::string > &varsOrder, const char *func) throw (INTERP_KERNEL::Exception) |
void | applyFunc (int nbOfComp, FunctionToEvaluate func) |
void | applyFunc (int nbOfComp, double val) |
void | applyFunc (int nbOfComp, const char *func) throw (INTERP_KERNEL::Exception) |
void | applyFunc2 (int nbOfComp, const char *func) throw (INTERP_KERNEL::Exception) |
void | applyFunc3 (int nbOfComp, const std::vector< std::string > &varsOrder, const char *func) throw (INTERP_KERNEL::Exception) |
void | applyFunc (const char *func) throw (INTERP_KERNEL::Exception) |
void | applyFuncFast32 (const char *func) throw (INTERP_KERNEL::Exception) |
void | applyFuncFast64 (const char *func) throw (INTERP_KERNEL::Exception) |
int | getNumberOfComponents () const throw (INTERP_KERNEL::Exception) |
int | getNumberOfTuples () const throw (INTERP_KERNEL::Exception) |
int | getNumberOfValues () const throw (INTERP_KERNEL::Exception) |
void | updateTime () const |
void | getTinySerializationIntInformation (std::vector< int > &tinyInfo) const |
void | getTinySerializationDbleInformation (std::vector< double > &tinyInfo) const |
void | getTinySerializationStrInformation (std::vector< std::string > &tinyInfo) const |
void | resizeForUnserialization (const std::vector< int > &tinyInfoI, DataArrayInt *&dataInt, std::vector< DataArrayDouble * > &arrays) |
void | finishUnserialization (const std::vector< int > &tinyInfoI, const std::vector< double > &tinyInfoD, const std::vector< std::string > &tinyInfoS) |
void | serialize (DataArrayInt *&dataInt, std::vector< DataArrayDouble * > &arrays) const |
void | changeUnderlyingMesh (const MEDCouplingMesh *other, int levOfCheck, double prec) throw (INTERP_KERNEL::Exception) |
void | substractInPlaceDM (const MEDCouplingFieldDouble *f, int levOfCheck, double prec) throw (INTERP_KERNEL::Exception) |
bool | mergeNodes (double eps, double epsOnVals=1e-15) throw (INTERP_KERNEL::Exception) |
bool | mergeNodes2 (double eps, double epsOnVals=1e-15) throw (INTERP_KERNEL::Exception) |
bool | zipCoords (double epsOnVals=1e-15) throw (INTERP_KERNEL::Exception) |
bool | zipConnectivity (int compType, double epsOnVals=1e-15) throw (INTERP_KERNEL::Exception) |
bool | simplexize (int policy) throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | doublyContractedProduct () const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | determinant () const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | eigenValues () const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | eigenVectors () const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | inverse () const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | trace () const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | deviator () const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | magnitude () const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | maxPerTuple () const throw (INTERP_KERNEL::Exception) |
void | changeNbOfComponents (int newNbOfComp, double dftValue=0.) throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | keepSelectedComponents (const std::vector< int > &compoIds) const throw (INTERP_KERNEL::Exception) |
void | setSelectedComponents (const MEDCouplingFieldDouble *f, const std::vector< int > &compoIds) throw (INTERP_KERNEL::Exception) |
void | sortPerTuple (bool asc) throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | dot (const MEDCouplingFieldDouble &other) const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | crossProduct (const MEDCouplingFieldDouble &other) const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | max (const MEDCouplingFieldDouble &other) const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | min (const MEDCouplingFieldDouble &other) const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | operator+ (const MEDCouplingFieldDouble &other) const throw (INTERP_KERNEL::Exception) |
const MEDCouplingFieldDouble & | operator+= (const MEDCouplingFieldDouble &other) throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | operator- (const MEDCouplingFieldDouble &other) const throw (INTERP_KERNEL::Exception) |
const MEDCouplingFieldDouble & | operator-= (const MEDCouplingFieldDouble &other) throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | operator* (const MEDCouplingFieldDouble &other) const throw (INTERP_KERNEL::Exception) |
const MEDCouplingFieldDouble & | operator*= (const MEDCouplingFieldDouble &other) throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | operator/ (const MEDCouplingFieldDouble &other) const throw (INTERP_KERNEL::Exception) |
const MEDCouplingFieldDouble & | operator/= (const MEDCouplingFieldDouble &other) throw (INTERP_KERNEL::Exception) |
const MEDCouplingTimeDiscretization * | getTimeDiscretizationUnderGround () const |
MEDCouplingTimeDiscretization * | getTimeDiscretizationUnderGround () |
![]() | |
void | setMesh (const ParaMEDMEM::MEDCouplingMesh *mesh) |
const ParaMEDMEM::MEDCouplingMesh * | getMesh () const |
void | setName (const char *name) |
const char * | getDescription () const |
void | setDescription (const char *desc) |
const char * | getName () const |
TypeOfField | getTypeOfField () const |
NatureOfField | getNature () const |
DataArrayDouble * | getLocalizationOfDiscr () const throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * | buildMeasureField (bool isAbs) const throw (INTERP_KERNEL::Exception) |
MEDCouplingMesh * | buildSubMeshData (const int *start, const int *end, DataArrayInt *&di) const |
MEDCouplingFieldDiscretization * | getDiscretization () const |
int | getNumberOfTuplesExpected () const throw (INTERP_KERNEL::Exception) |
int | getNumberOfMeshPlacesExpected () const throw (INTERP_KERNEL::Exception) |
void | setGaussLocalizationOnType (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 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 () |
MEDCouplingGaussLocalization & | getGaussLocalization (int locId) throw (INTERP_KERNEL::Exception) |
int | getGaussLocalizationIdOfOneType (INTERP_KERNEL::NormalizedCellType type) const throw (INTERP_KERNEL::Exception) |
int | getNbOfGaussLocalization () const throw (INTERP_KERNEL::Exception) |
int | getGaussLocalizationIdOfOneCell (int cellId) 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) |
![]() | |
bool | decrRef () const |
void | incrRef () const |
![]() | |
TimeLabel & | operator= (const TimeLabel &other) |
void | declareAsNew () const |
unsigned int | getTimeOfThis () const |
Additional Inherited Members | |
![]() | |
MEDCouplingField (TypeOfField type) | |
MEDCouplingField (const MEDCouplingField &other) | |
MEDCouplingField (MEDCouplingFieldDiscretization *type, NatureOfField nature=NoNature) | |
virtual | ~MEDCouplingField () |
![]() | |
std::string | _name |
std::string | _desc |
NatureOfField | _nature |
const MEDCouplingMesh * | _mesh |
MEDCouplingFieldDiscretization * | _type |
|
static |
Referenced by ParaMEDMEM::MEDCouplingMesh::fillFromAnalytic(), ParaMEDMEM::MEDCouplingMesh::fillFromAnalytic2(), ParaMEDMEM::MEDCouplingMesh::fillFromAnalytic3(), ParaMEDMEM::ParaFIELD::ParaFIELD(), ParaMEDMEM::MEDCouplingRemapper::reverseTransferField(), and ParaMEDMEM::MEDCouplingRemapper::transferField().
|
static |
void MEDCouplingFieldDouble::setTimeUnit | ( | const char * | unit | ) |
References ParaMEDMEM::MEDCouplingTimeDiscretization::setTimeUnit().
Referenced by finishUnserialization().
const char * MEDCouplingFieldDouble::getTimeUnit | ( | ) | const |
References ParaMEDMEM::MEDCouplingTimeDiscretization::getTimeUnit().
Referenced by getTinySerializationStrInformation().
void MEDCouplingFieldDouble::copyTinyStringsFrom | ( | const MEDCouplingFieldDouble * | other | ) | throw (INTERP_KERNEL::Exception) |
Copy tiny info (component names, name, description) but warning the underlying mesh is not renamed (for safety reason).
void MEDCouplingFieldDouble::copyTinyAttrFrom | ( | const MEDCouplingFieldDouble * | other | ) | throw (INTERP_KERNEL::Exception) |
Copy only times, order, iteration from other. The underlying mesh is not impacted by this method. Arrays are not impacted too.
Referenced by ParaMEDMEM::MEDCouplingRemapper::reverseTransferField(), and ParaMEDMEM::MEDCouplingRemapper::transferField().
std::string MEDCouplingFieldDouble::simpleRepr | ( | ) | const |
References ParaMEDMEM::MEDCouplingField::_mesh, ParaMEDMEM::MEDCouplingField::_nature, ParaMEDMEM::MEDCouplingField::_type, getArray(), ParaMEDMEM::MEDCouplingField::getDescription(), ParaMEDMEM::DataArray::getInfoOnComponent(), ParaMEDMEM::MEDCouplingField::getName(), ParaMEDMEM::DataArray::getNumberOfComponents(), ParaMEDMEM::DataArray::getNumberOfTuples(), ParaMEDMEM::MEDCouplingNatureOfField::getRepr(), ParaMEDMEM::MEDCouplingFieldDiscretization::getStringRepr(), ParaMEDMEM::MEDCouplingTimeDiscretization::getStringRepr(), and ParaMEDMEM::MEDCouplingMesh::simpleRepr().
std::string MEDCouplingFieldDouble::advancedRepr | ( | ) | const |
References ParaMEDMEM::MEDCouplingField::_mesh, ParaMEDMEM::MEDCouplingField::_type, getArray(), ParaMEDMEM::MEDCouplingTimeDiscretization::getArrays(), ParaMEDMEM::MEDCouplingField::getDescription(), ParaMEDMEM::MEDCouplingField::getName(), ParaMEDMEM::DataArray::getNumberOfComponents(), ParaMEDMEM::DataArray::getNumberOfTuples(), ParaMEDMEM::MEDCouplingFieldDiscretization::getStringRepr(), ParaMEDMEM::MEDCouplingTimeDiscretization::getStringRepr(), and ParaMEDMEM::MEDCouplingMesh::simpleRepr().
|
virtual |
Reimplemented from ParaMEDMEM::MEDCouplingField.
References ParaMEDMEM::MEDCouplingField::isEqual(), and ParaMEDMEM::MEDCouplingTimeDiscretization::isEqual().
|
virtual |
|
virtual |
This method states if 'this' and 'other' are compatibles each other before performing any treatment. This method is good for methods like : mergeFields. This method is not very demanding compared to areStrictlyCompatible that is better for operation on fields.
Reimplemented from ParaMEDMEM::MEDCouplingField.
References ParaMEDMEM::MEDCouplingTimeDiscretization::areCompatible(), and ParaMEDMEM::MEDCouplingField::areCompatibleForMerge().
Referenced by MergeFields().
|
virtual |
This method is more strict than MEDCouplingField::areCompatibleForMerge method. This method is used for operation on fields to operate a first check before attempting operation.
Reimplemented from ParaMEDMEM::MEDCouplingField.
References ParaMEDMEM::MEDCouplingField::areStrictlyCompatible(), and ParaMEDMEM::MEDCouplingTimeDiscretization::areStrictlyCompatible().
bool MEDCouplingFieldDouble::areCompatibleForMul | ( | const MEDCouplingField * | other | ) | const |
Method with same principle than MEDCouplingFieldDouble::areStrictlyCompatible method except that number of components between 'this' and 'other' can be different here (for operator*).
References ParaMEDMEM::MEDCouplingField::areStrictlyCompatible(), and ParaMEDMEM::MEDCouplingTimeDiscretization::areStrictlyCompatibleForMul().
bool MEDCouplingFieldDouble::areCompatibleForDiv | ( | const MEDCouplingField * | other | ) | const |
Method with same principle than MEDCouplingFieldDouble::areStrictlyCompatible method except that number of components between 'this' and 'other' can be different here (for operator/).
References ParaMEDMEM::MEDCouplingField::areStrictlyCompatible(), and ParaMEDMEM::MEDCouplingTimeDiscretization::areStrictlyCompatibleForDiv().
bool MEDCouplingFieldDouble::areCompatibleForMeld | ( | const MEDCouplingFieldDouble * | other | ) | const |
This method is invocated before any attempt of melding. This method is very close to areStrictlyCompatible, except that 'this' and other can have different number of components.
References ParaMEDMEM::MEDCouplingTimeDiscretization::areCompatibleForMeld(), and ParaMEDMEM::MEDCouplingField::areStrictlyCompatible().
void MEDCouplingFieldDouble::renumberCells | ( | const int * | old2NewBg, |
bool | check | ||
) | throw (INTERP_KERNEL::Exception) |
This method performs a clone of mesh and a renumbering of underlying cells of it. The number of cells remains the same. The values of field are impacted in consequence to have the same geometrical field.
void MEDCouplingFieldDouble::renumberCellsWithoutMesh | ( | const int * | old2NewBg, |
bool | check | ||
) | throw (INTERP_KERNEL::Exception) |
WARNING : use this method with lot of care ! This method performs half job of MEDCouplingFieldDouble::renumberCells. That is to say no permutation of cells is done on underlying mesh. That is to say, the field content is changed by this method. The reason of this method is only for multi-field instances lying on the same mesh to avoid a systematic duplication and renumbering of _mesh attribute.
void MEDCouplingFieldDouble::renumberNodes | ( | const int * | old2NewBg | ) | throw (INTERP_KERNEL::Exception) |
This method performs a clone of mesh and a renumbering of underlying nodes of it. The number of nodes remains not compulsory the same as renumberCells method. The values of field are impacted in consequence to have the same geometrical field.
References ParaMEDMEM::MEDCouplingMesh::deepCpy(), and ParaMEDMEM::MEDCouplingPointSet::getNumberOfNodes().
void MEDCouplingFieldDouble::renumberNodesWithoutMesh | ( | const int * | old2NewBg, |
double | eps = 1e-15 |
||
) | throw (INTERP_KERNEL::Exception) |
WARNING : use this method with lot of care ! This method performs half job of MEDCouplingFieldDouble::renumberNodes. That is to say no permutation of cells is done on underlying mesh. That is to say, the field content is changed by this method.
DataArrayInt * MEDCouplingFieldDouble::getIdsInRange | ( | double | vmin, |
double | vmax | ||
) | const throw (INTERP_KERNEL::Exception) |
This method makes the assumption that the default array is set. If not an exception will be thrown. This method is usable only if the default array has exactly one component. If not an exception will be thrown too. This method returns all tuples ids that fit the range [vmin,vmax]. The caller has the responsability of the returned DataArrayInt.
MEDCouplingFieldDouble * MEDCouplingFieldDouble::buildSubPart | ( | const DataArrayInt * | part | ) | const throw (INTERP_KERNEL::Exception) |
Builds a newly created field, that the caller will have the responsability to deal with (decrRef). This method makes the assumption that the field is correctly defined when this method is called, no check of this will be done. This method returns a restriction of 'this' so that only tuples id specified in 'part' will be contained in returned field. Parameter 'part' specifies cell ids whatever the spatial discretization of 'this' (ON_CELLS, ON_NODES, ON_GAUSS_PT, ON_GAUSS_NE)
If 'this' is a field on cell lying on a mesh that have 10 cells. If part contains following cellIds [3,7,6]. In this case the returned field will lie on mesh having 3 cells and the returned field will contain 3 tuples. Tuple#0 of return field will refer to the cell#0 of returned mesh. The cell #0 of returned mesh will be equal to the cell#3 of 'this->getMesh()' Tuple#1 of return field will refer to the cell#1 of returned mesh. The cell #1 of returned mesh will be equal to the cell#7 of 'this->getMesh()' Tuple#2 of return field will refer to the cell#2 of returned mesh. The cell #2 of returned mesh will be equal to the cell#6 of 'this->getMesh()'
If 'this' is field on node lying on a mesh that have 10 cells and 11 nodes for example. If part contains following cellIds [3,7,6]. 'this' is currently contains 11 tuples. If the restriction of mesh to 3 cells leads to a mesh with 6 nodes, the returned field, will contain 6 tuples and this field will lie on this restricted mesh.
MEDCouplingFieldDouble * MEDCouplingFieldDouble::buildSubPart | ( | const int * | partBg, |
const int * | partEnd | ||
) | const throw (INTERP_KERNEL::Exception) |
Builds a newly created field, that the caller will have the responsability to deal with (decrRef). This method makes the assumption that the field is correctly defined when this method is called, no check of this will be done. This method returns a restriction of 'this' so that only tuples id specified in ['partBg';'partEnd') will be contained in returned field. Parameter ['partBg','partEnd') specifies cell ids whatever the spatial discretization of 'this' (ON_CELLS, ON_NODES, ON_GAUSS_PT, ON_GAUSS_NE)
If 'this' is a field on cell lying on a mesh that have 10 cells. If part contains following cellIds [3,7,6]. In this case the returned field will lie on mesh having 3 cells and the returned field will contain 3 tuples. Tuple#0 of return field will refer to the cell#0 of returned mesh. The cell #0 of returned mesh will be equal to the cell#3 of 'this->getMesh()' Tuple#1 of return field will refer to the cell#1 of returned mesh. The cell #1 of returned mesh will be equal to the cell#7 of 'this->getMesh()' Tuple#2 of return field will refer to the cell#2 of returned mesh. The cell #2 of returned mesh will be equal to the cell#6 of 'this->getMesh()'
If 'this' is field on node lying on a mesh that have 10 cells and 11 nodes for example. If part contains following cellIds [3,7,6]. 'this' is currently contains 11 tuples. If the restriction of mesh to 3 cells leads to a mesh with 6 nodes, the returned field, will contain 6 tuples and this field will lie on this restricted mesh.
Here a C++ example.
Here a Python example.
References ParaMEDMEM::RefCountObject::decrRef(), ParaMEDMEM::DataArrayInt::getConstPointer(), ParaMEDMEM::DataArray::getNbOfElems(), ParaMEDMEM::DataArrayDouble::selectByTupleId(), ParaMEDMEM::MEDCouplingTimeDiscretization::setArrays(), and ParaMEDMEM::MEDCouplingField::setMesh().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::deepCpy | ( | ) | const |
This method performs a deepCpy of 'this' mesh included ! So the resulting field of this call cannot be called with 'this' with following methods MEDCouplingFieldDouble::AddFields, MEDCouplingFieldDouble::MultiplyFields ... To avoid to deep copy the underlying mesh the user should call MEDCouplingFieldDouble::clone method instead. This method is exactly equivalent to MEDCouplingFieldDouble::cloneWithMesh called with parameter true.
References cloneWithMesh().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::clone | ( | bool | recDeepCpy | ) | const |
This method performs a copy of this without any copy of the underlying mesh ( see warning section of this method). The copy of arrays is deep if recDeepCpy equals to true, no copy of arrays is done if recDeepCpy equals to false.
clone(false)
is rather dedicated for advanced users that want to limit the amount of memory.
It allows the user to perform methods MEDCouplingFieldDouble::AddFields, MEDCouplingFieldDouble::MultiplyFields with this and the returned field.
[in] | recDeepCpy | specifies if underlying arrays in this should be copied of only attached to the returned field. |
Referenced by cloneWithMesh().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::cloneWithMesh | ( | bool | recDeepCpy | ) | const |
This method behaves exactly like MEDCouplingFieldDouble::clone method except that here the underlying mesh is systematically (whatever the value of the input parameter 'recDeepCpy') deeply duplicated.
The result of cloneWithMesh(true)
is exactly the same than calling deepCpy.
So the resulting field of this call cannot be called with this with the following methods MEDCouplingFieldDouble::AddFields, MEDCouplingFieldDouble::MultiplyFields ... To avoid to deep copy the underlying mesh the user should call MEDCouplingFieldDouble::clone method instead.
References ParaMEDMEM::MEDCouplingField::_mesh, clone(), ParaMEDMEM::RefCountObject::decrRef(), ParaMEDMEM::MEDCouplingMesh::deepCpy(), and ParaMEDMEM::MEDCouplingField::setMesh().
Referenced by deepCpy().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::buildNewTimeReprFromThis | ( | TypeOfTimeDiscretization | td, |
bool | deepCopy | ||
) | const |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingTimeDiscretization::buildNewTimeReprFromThis(), ParaMEDMEM::MEDCouplingFieldDiscretization::clone(), ParaMEDMEM::MEDCouplingField::getDescription(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingField::getName(), ParaMEDMEM::MEDCouplingField::getNature(), ParaMEDMEM::MEDCouplingField::setDescription(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
TypeOfTimeDiscretization MEDCouplingFieldDouble::getTimeDiscretization | ( | ) | const |
|
virtual |
Implements ParaMEDMEM::MEDCouplingField.
References ParaMEDMEM::MEDCouplingField::_mesh, ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingTimeDiscretization::checkCoherency(), ParaMEDMEM::MEDCouplingFieldDiscretization::checkCoherencyBetween(), and getArray().
Referenced by MEDLoader::WriteFieldUsingAlreadyWrittenMesh().
|
virtual |
This method set the nature of field in this.This information is very important during interpolation process using ParaMEDMEM::MEDCouplingRemapper or ParaMEDMEM::InterpKernelDEC. In other context than the two mentioned before this attribute of the field is not sensitive. This attribute is not store in MED file in MEDLoader. More information of the semantic, and the consequence of this attribute in the result of the interpolation, is available here.
Reimplemented from ParaMEDMEM::MEDCouplingField.
References ParaMEDMEM::MEDCouplingField::setNature().
Referenced by ParaMEDMEM::MEDCouplingRemapper::reverseTransferField(), ParaMEDMEM::DisjointDEC::setNature(), and ParaMEDMEM::MEDCouplingRemapper::transferField().
void ParaMEDMEM::MEDCouplingFieldDouble::setTimeTolerance | ( | double | val | ) |
double ParaMEDMEM::MEDCouplingFieldDouble::getTimeTolerance | ( | ) | const |
void ParaMEDMEM::MEDCouplingFieldDouble::setIteration | ( | int | it | ) | throw (INTERP_KERNEL::Exception) |
void ParaMEDMEM::MEDCouplingFieldDouble::setEndIteration | ( | int | it | ) | throw (INTERP_KERNEL::Exception) |
void ParaMEDMEM::MEDCouplingFieldDouble::setOrder | ( | int | order | ) | throw (INTERP_KERNEL::Exception) |
void ParaMEDMEM::MEDCouplingFieldDouble::setEndOrder | ( | int | order | ) | throw (INTERP_KERNEL::Exception) |
void ParaMEDMEM::MEDCouplingFieldDouble::setTimeValue | ( | double | val | ) | throw (INTERP_KERNEL::Exception) |
void ParaMEDMEM::MEDCouplingFieldDouble::setEndTimeValue | ( | double | val | ) | throw (INTERP_KERNEL::Exception) |
void ParaMEDMEM::MEDCouplingFieldDouble::setTime | ( | double | val, |
int | iteration, | ||
int | order | ||
) |
void ParaMEDMEM::MEDCouplingFieldDouble::setStartTime | ( | double | val, |
int | iteration, | ||
int | order | ||
) |
void ParaMEDMEM::MEDCouplingFieldDouble::setEndTime | ( | double | val, |
int | iteration, | ||
int | order | ||
) |
double ParaMEDMEM::MEDCouplingFieldDouble::getTime | ( | int & | iteration, |
int & | order | ||
) | const |
double ParaMEDMEM::MEDCouplingFieldDouble::getStartTime | ( | int & | iteration, |
int & | order | ||
) | const |
double ParaMEDMEM::MEDCouplingFieldDouble::getEndTime | ( | int & | iteration, |
int & | order | ||
) | const |
double ParaMEDMEM::MEDCouplingFieldDouble::getIJ | ( | int | tupleId, |
int | compoId | ||
) | const |
Referenced by ParaMEDMEM::InterpolationMatrix::multiply().
double MEDCouplingFieldDouble::getIJK | ( | int | cellId, |
int | nodeIdInCell, | ||
int | compoId | ||
) | const |
void MEDCouplingFieldDouble::setArray | ( | DataArrayDouble * | array | ) |
References ParaMEDMEM::MEDCouplingTimeDiscretization::setArray().
Referenced by ParaMEDMEM::MEDCouplingUMesh::buildDirectionVectorField(), ParaMEDMEM::MEDCouplingCMesh::buildOrthogonalField(), ParaMEDMEM::MEDCouplingUMesh::buildOrthogonalField(), ParaMEDMEM::MEDCouplingUMesh::buildPartOrthogonalField(), ParaMEDMEM::MEDCouplingExtrudedMesh::getMeasureField(), ParaMEDMEM::MEDCouplingCMesh::getMeasureField(), ParaMEDMEM::MEDCouplingUMesh::getMeasureField(), ParaMEDMEM::MEDCouplingUMesh::getMeasureFieldOnNode(), and ParaMEDMEM::ParaFIELD::ParaFIELD().
void MEDCouplingFieldDouble::setEndArray | ( | DataArrayDouble * | array | ) |
void MEDCouplingFieldDouble::setArrays | ( | const std::vector< DataArrayDouble * > & | arrs | ) | throw (INTERP_KERNEL::Exception) |
const DataArrayDouble* ParaMEDMEM::MEDCouplingFieldDouble::getArray | ( | ) | const |
Referenced by accumulate(), advancedRepr(), checkCoherency(), getAverageValue(), getIJK(), ParaMEDMEM::MEDCouplingExtrudedMesh::getMeasureField(), ParaMEDMEM::MEDCouplingUMesh::getMeasureFieldOnNode(), getNumberOfComponents(), getNumberOfValues(), getWeightedAverageValue(), ParaMEDMEM::MEDCouplingFieldDiscretization::integral(), ParaMEDMEM::InterpolationMatrix::multiply(), norm2(), ParaMEDMEM::MEDCouplingFieldDiscretization::normL1(), ParaMEDMEM::MEDCouplingFieldDiscretization::normL2(), normMax(), ParaMEDMEM::StructuredCoincidentDEC::prepareSourceDE(), ParaMEDMEM::ExplicitCoincidentDEC::prepareSourceDE(), ParaMEDMEM::MEDCouplingUMesh::project1D(), ParaMEDMEM::StructuredCoincidentDEC::recvData(), ParaMEDMEM::ExplicitCoincidentDEC::recvData(), ParaMEDMEM::DisjointDEC::renormalizeTargetField(), simpleRepr(), ParaMEDMEM::InterpolationMatrix::transposeMultiply(), and WriteVTK().
DataArrayDouble* ParaMEDMEM::MEDCouplingFieldDouble::getArray | ( | ) |
const DataArrayDouble* ParaMEDMEM::MEDCouplingFieldDouble::getEndArray | ( | ) | const |
DataArrayDouble* ParaMEDMEM::MEDCouplingFieldDouble::getEndArray | ( | ) |
std::vector<DataArrayDouble *> ParaMEDMEM::MEDCouplingFieldDouble::getArrays | ( | ) | const |
double MEDCouplingFieldDouble::accumulate | ( | int | compId | ) | const |
Returns the accumulation (the sum) of comId_th component of each tuples of default and only default array.
References ParaMEDMEM::DataArrayDouble::accumulate(), and getArray().
void MEDCouplingFieldDouble::accumulate | ( | double * | res | ) | const |
Returns the accumulation (the sum) of all tuples of default and only default array. The res is expected to be of size getNumberOfComponents().
References ParaMEDMEM::DataArrayDouble::accumulate(), and getArray().
double MEDCouplingFieldDouble::getMaxValue | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method returns the max value in 'this'. 'This' is expected to be a field with exactly one component. If not an exception will be thrown. To getMaxValue on vector field applyFunc is needed before. This method looks only on all arrays stored in 'this->_time_discr'. If no arrays exists, an exception will be thrown.
References ParaMEDMEM::MEDCouplingTimeDiscretization::getArrays(), and max().
double MEDCouplingFieldDouble::getMaxValue2 | ( | DataArrayInt *& | tupleIds | ) | const throw (INTERP_KERNEL::Exception) |
This method is an extension of ParaMEDMEM::MEDCouplingFieldDouble::getMaxValue method because the returned value is the same but this method also returns to you a tupleIds object which the caller have the responsibility to deal with. The main difference is that the returned tupleIds is those corresponding the first set array. If you have more than one array set (in LINEAR_TIME instance for example) only the first not null array will be used to compute tupleIds.
References ParaMEDMEM::RefCountObject::decrRef().
double MEDCouplingFieldDouble::getMinValue | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method returns the min value in 'this'. 'This' is expected to be a field with exactly one component. If not an exception will be thrown. To getMinValue on vector field applyFunc is needed before. This method looks only on all arrays stored in 'this->_time_discr'. If no arrays exists, an exception will be thrown.
References ParaMEDMEM::MEDCouplingTimeDiscretization::getArrays(), max(), and min().
double MEDCouplingFieldDouble::getMinValue2 | ( | DataArrayInt *& | tupleIds | ) | const throw (INTERP_KERNEL::Exception) |
This method is an extension of ParaMEDMEM::MEDCouplingFieldDouble::getMinValue method because the returned value is the same but this method also returns to you a tupleIds object which the caller have the responsibility to deal with. The main difference is that the returned tupleIds is those corresponding the first set array. If you have more than one array set (in LINEAR_TIME instance for example) only the first not null array will be used to compute tupleIds.
References ParaMEDMEM::RefCountObject::decrRef().
double MEDCouplingFieldDouble::getAverageValue | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method returns the average value in 'this'. 'This' is expected to be a field with exactly one component. If not an exception will be thrown. To getAverageValue on vector field applyFunc is needed before. This method looks only default array and only default. If default array does not exist, an exception will be thrown.
References getArray(), and ParaMEDMEM::DataArrayDouble::getAverageValue().
double MEDCouplingFieldDouble::norm2 | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method returns the euclidean norm of 'this'.
If default array does not exist, an exception will be thrown.
References getArray(), and ParaMEDMEM::DataArrayDouble::norm2().
double MEDCouplingFieldDouble::normMax | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method returns the max norm of 'this'.
If default array does not exist, an exception will be thrown.
References getArray(), and ParaMEDMEM::DataArrayDouble::normMax().
double MEDCouplingFieldDouble::getWeightedAverageValue | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method returns the average value in 'this' weighted by ParaMEDMEM::MEDCouplingField::buildMeasureField. 'This' is expected to be a field with exactly one component. If not an exception will be thrown. To getAverageValue on vector field applyFunc is needed before. This method looks only default array and only default. If default array does not exist, an exception will be thrown.
References ParaMEDMEM::DataArrayDouble::accumulate(), ParaMEDMEM::MEDCouplingField::buildMeasureField(), ParaMEDMEM::RefCountObject::decrRef(), getArray(), and ParaMEDMEM::DataArrayDouble::multiplyEqual().
double MEDCouplingFieldDouble::normL1 | ( | int | compId | ) | const throw (INTERP_KERNEL::Exception) |
Returns the normL1 of current field on compId component :
If compId>=nbOfComponent an exception is thrown.
void MEDCouplingFieldDouble::normL1 | ( | double * | res | ) | const throw (INTERP_KERNEL::Exception) |
Returns the normL1 of current field on each components :
The res is expected to be of size getNumberOfComponents().
double MEDCouplingFieldDouble::normL2 | ( | int | compId | ) | const throw (INTERP_KERNEL::Exception) |
Returns the normL2 of current field on compId component :
If compId>=nbOfComponent an exception is thrown.
void MEDCouplingFieldDouble::normL2 | ( | double * | res | ) | const throw (INTERP_KERNEL::Exception) |
Returns the normL2 of current field on each components :
The res is expected to be of size getNumberOfComponents().
double MEDCouplingFieldDouble::integral | ( | int | compId, |
bool | isWAbs | ||
) | const throw (INTERP_KERNEL::Exception) |
Returns the accumulation (the sum) of comId_th component of each tuples weigthed by the field returns by getWeightingField relative of the _type of field of default array. This method is usefull to check the conservativity of interpolation method.
Referenced by ParaMEDMEM::ParaFIELD::getVolumeIntegral().
void MEDCouplingFieldDouble::integral | ( | bool | isWAbs, |
double * | res | ||
) | const throw (INTERP_KERNEL::Exception) |
Returns the accumulation (the sum) of each tuples weigthed by the field returns by getWeightingField relative of the _type of field of default array. This method is usefull to check the conservativity of interpolation method.
void MEDCouplingFieldDouble::getValueOnPos | ( | int | i, |
int | j, | ||
int | k, | ||
double * | res | ||
) | const throw (INTERP_KERNEL::Exception) |
This method is reserved for field lying on structured mesh spatial support. It returns the value of cell localized by (i,j,k) If spatial support is not structured mesh an exception will be thrown.
res | out array expected to be equal to size getNumberOfComponents() |
void MEDCouplingFieldDouble::getValueOn | ( | const double * | spaceLoc, |
double * | res | ||
) | const throw (INTERP_KERNEL::Exception) |
Returns value of 'this' on default time of point 'spaceLoc' using spatial discretization. If 'point' is outside the spatial discretization of this an exception will be thrown.
void MEDCouplingFieldDouble::getValueOn | ( | const double * | spaceLoc, |
double | time, | ||
double * | res | ||
) | const throw (INTERP_KERNEL::Exception) |
Returns value of 'this' on time 'time' of point 'spaceLoc' using spatial discretization. If 'time' is not covered by this->_time_discr an exception will be thrown. If 'point' is outside the spatial discretization of this an exception will be thrown.
DataArrayDouble * MEDCouplingFieldDouble::getValueOnMulti | ( | const double * | spaceLoc, |
int | nbOfPoints | ||
) | const throw (INTERP_KERNEL::Exception) |
Returns a newly allocated array with 'nbOfPoints' tuples and nb of components equal to 'this->getNumberOfComponents()'.
void MEDCouplingFieldDouble::applyLin | ( | double | a, |
double | b, | ||
int | compoId | ||
) |
temporary
Applies a*x+b on 'compoId'th component of each cell.
References ParaMEDMEM::MEDCouplingTimeDiscretization::applyLin().
Referenced by ParaMEDMEM::DisjointDEC::renormalizeTargetField().
MEDCouplingFieldDouble & MEDCouplingFieldDouble::operator= | ( | double | value | ) | throw (INTERP_KERNEL::Exception) |
This method sets 'this' to a uniform scalar field with one component. All tuples will have the same value 'value'. An exception is thrown if no underlying mesh is defined.
void MEDCouplingFieldDouble::fillFromAnalytic | ( | int | nbOfComp, |
FunctionToEvaluate | func | ||
) | throw (INTERP_KERNEL::Exception) |
This method is very similar to this one MEDCouplingMesh::fillFromAnalytic. See MEDCouplingMesh::fillFromAnalytic method doc to have more details. The main difference is that the field as been started to be constructed here. An exception is thrown if no underlying mesh is set before the call of this method.
void MEDCouplingFieldDouble::fillFromAnalytic | ( | int | nbOfComp, |
const char * | func | ||
) | throw (INTERP_KERNEL::Exception) |
This method is very similar to this one MEDCouplingMesh::fillFromAnalytic. See MEDCouplingMesh::fillFromAnalytic method doc to have more details. The main difference is that the field as been started to be constructed here. An exception is thrown if no underlying mesh is set before the call of this method.
void MEDCouplingFieldDouble::fillFromAnalytic2 | ( | int | nbOfComp, |
const char * | func | ||
) | throw (INTERP_KERNEL::Exception) |
This method is very similar to this one MEDCouplingMesh::fillFromAnalytic2. See MEDCouplingMesh::fillFromAnalytic method doc to have more details. The main difference is that the field as been started to be constructed here. An exception is throw if no underlying mesh is set before the call of this method.
void MEDCouplingFieldDouble::fillFromAnalytic3 | ( | int | nbOfComp, |
const std::vector< std::string > & | varsOrder, | ||
const char * | func | ||
) | throw (INTERP_KERNEL::Exception) |
This method is very similar to this one MEDCouplingMesh::fillFromAnalytic3. See MEDCouplingMesh::fillFromAnalytic method doc to have more details. The main difference is that the field as been started to be constructed here. An exception is thrown if no underlying mesh is set before the call of this method.
void MEDCouplingFieldDouble::applyFunc | ( | int | nbOfComp, |
FunctionToEvaluate | func | ||
) |
Applyies the function specified by pointer 'func' on each tuples on all arrays contained in _time_discr. If '*func' returns false during one evaluation an exception will be thrown.
References ParaMEDMEM::MEDCouplingTimeDiscretization::applyFunc().
void MEDCouplingFieldDouble::applyFunc | ( | int | nbOfComp, |
double | val | ||
) |
This method is a specialization of other overloaded methods. When 'nbOfComp' equals 1 this method is equivalent to ParaMEDMEM::MEDCouplingFieldDouble::operator=.
References ParaMEDMEM::MEDCouplingField::_mesh, ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::getNumberOfTuples(), and ParaMEDMEM::MEDCouplingTimeDiscretization::setUniformValue().
void MEDCouplingFieldDouble::applyFunc | ( | int | nbOfComp, |
const char * | func | ||
) | throw (INTERP_KERNEL::Exception) |
Applyies the function specified by the string repr 'func' on each tuples on all arrays contained in _time_discr. If '*func' fails in evaluation during one evaluation an exception will be thrown. The field will contain 'nbOfComp' components after the call.
void MEDCouplingFieldDouble::applyFunc2 | ( | int | nbOfComp, |
const char * | func | ||
) | throw (INTERP_KERNEL::Exception) |
This method is equivalent to MEDCouplingFieldDouble::applyFunc, except that here components info are used to determine variables position in 'func'. If there is vars detected in 'func' that is not in an info on components an exception will be thrown.
void MEDCouplingFieldDouble::applyFunc3 | ( | int | nbOfComp, |
const std::vector< std::string > & | varsOrder, | ||
const char * | func | ||
) | throw (INTERP_KERNEL::Exception) |
This method is equivalent to MEDCouplingFieldDouble::applyFunc, except that here 'varsOrder' is used to determine variables position in 'func'. If there is vars detected in 'func' that is not in 'varsOrder' an exception will be thrown.
void MEDCouplingFieldDouble::applyFunc | ( | const char * | func | ) | throw (INTERP_KERNEL::Exception) |
Applyies the function specified by the string repr 'func' on each tuples on all arrays contained in _time_discr. If '*func' fails in evaluation during one evaluation an exception will be thrown. The field will contain exactly the same number of components after the call.
void MEDCouplingFieldDouble::applyFuncFast32 | ( | const char * | func | ) | throw (INTERP_KERNEL::Exception) |
Applyies the function specified by the string repr 'func' on each tuples on all arrays contained in _time_discr. The field will contain exactly the same number of components after the call. Use is not warranted for the moment !
void MEDCouplingFieldDouble::applyFuncFast64 | ( | const char * | func | ) | throw (INTERP_KERNEL::Exception) |
Applyies the function specified by the string repr 'func' on each tuples on all arrays contained in _time_discr. The field will contain exactly the same number of components after the call. Use is not warranted for the moment !
int MEDCouplingFieldDouble::getNumberOfComponents | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method makes the assumption that the default array has been set before. If not an exception will be sent. If default array set, the number of components will be sent.
References getArray(), and ParaMEDMEM::DataArray::getNumberOfComponents().
int MEDCouplingFieldDouble::getNumberOfTuples | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method makes the assumption that _mesh has be set before the call of this method and description of gauss localizations in case of Gauss field. If not an exception will sent. Contrary to MEDCouplingFieldDouble::getNumberOfComponents and MEDCouplingFieldDouble::getNumberOfValues is not aware of the presence of the default array. WARNING no coherency check is done here. MEDCouplingFieldDouble::checkCoherency method should be called to check that !
References ParaMEDMEM::MEDCouplingField::_mesh, ParaMEDMEM::MEDCouplingField::_type, and ParaMEDMEM::MEDCouplingFieldDiscretization::getNumberOfTuples().
Referenced by ParaMEDMEM::InterpolationMatrix::InterpolationMatrix(), ParaMEDMEM::ParaFIELD::ParaFIELD(), and ParaMEDMEM::InterpolationMatrix::prepare().
int MEDCouplingFieldDouble::getNumberOfValues | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method makes the assumption that the default array has been set before. If not an exception will be sent. If default array set, the number of values present in the default array will be sent.
References getArray(), and ParaMEDMEM::DataArray::getNbOfElems().
|
virtual |
This method should be called on high level classes as Field or Mesh to take into acount modifications done in aggregates objects.
Reimplemented from ParaMEDMEM::MEDCouplingField.
References ParaMEDMEM::TimeLabel::updateTimeWith().
void MEDCouplingFieldDouble::getTinySerializationIntInformation | ( | std::vector< int > & | tinyInfo | ) | const |
This method retrieves some critical values to resize and prepare remote instance. The first two elements returned in tinyInfo correspond to the parameters to give in constructor.
tinyInfo | out parameter resized correctly after the call. The length of this vector is tiny. |
References ParaMEDMEM::MEDCouplingField::_nature, ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::getEnum(), ParaMEDMEM::MEDCouplingTimeDiscretization::getEnum(), ParaMEDMEM::MEDCouplingTimeDiscretization::getTinySerializationIntInformation(), and ParaMEDMEM::MEDCouplingFieldDiscretization::getTinySerializationIntInformation().
void MEDCouplingFieldDouble::getTinySerializationDbleInformation | ( | std::vector< double > & | tinyInfo | ) | const |
This method retrieves some critical values to resize and prepare remote instance.
tinyInfo | out parameter resized correctly after the call. The length of this vector is tiny. |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingTimeDiscretization::getTinySerializationDbleInformation(), and ParaMEDMEM::MEDCouplingFieldDiscretization::getTinySerializationDbleInformation().
void MEDCouplingFieldDouble::getTinySerializationStrInformation | ( | std::vector< std::string > & | tinyInfo | ) | const |
void MEDCouplingFieldDouble::resizeForUnserialization | ( | const std::vector< int > & | tinyInfoI, |
DataArrayInt *& | dataInt, | ||
std::vector< DataArrayDouble * > & | arrays | ||
) |
This method has to be called to the new instance filled by CORBA, MPI, File...
tinyInfoI | is the value retrieves from distant result of getTinySerializationIntInformation on source instance to be copied. |
dataInt | out parameter. If not null the pointer is already owned by 'this' after the call of this method. In this case no decrRef must be applied. |
arrays | out parameter is a vector resized to the right size. The pointers in the vector is already owned by 'this' after the call of this method. No decrRef must be applied to every instances in returned vector. |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingTimeDiscretization::resizeForUnserialization(), and ParaMEDMEM::MEDCouplingFieldDiscretization::resizeForUnserialization().
void MEDCouplingFieldDouble::finishUnserialization | ( | const std::vector< int > & | tinyInfoI, |
const std::vector< double > & | tinyInfoD, | ||
const std::vector< std::string > & | tinyInfoS | ||
) |
References ParaMEDMEM::MEDCouplingField::_desc, ParaMEDMEM::MEDCouplingField::_name, ParaMEDMEM::MEDCouplingField::_nature, ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingTimeDiscretization::finishUnserialization(), ParaMEDMEM::MEDCouplingFieldDiscretization::finishUnserialization(), and setTimeUnit().
void MEDCouplingFieldDouble::serialize | ( | DataArrayInt *& | dataInt, |
std::vector< DataArrayDouble * > & | arrays | ||
) | const |
Contrary to MEDCouplingPointSet class the returned arrays are not the responsabilities of the caller. The values returned must be consulted only in readonly mode.
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingTimeDiscretization::getArrays(), and ParaMEDMEM::MEDCouplingFieldDiscretization::getSerializationIntArray().
void MEDCouplingFieldDouble::changeUnderlyingMesh | ( | const MEDCouplingMesh * | other, |
int | levOfCheck, | ||
double | prec | ||
) | throw (INTERP_KERNEL::Exception) |
This method tries to to change the mesh support of 'this' following the parameter 'levOfCheck' and 'prec'. Semantic of 'levOfCheck' is explained in MEDCouplingMesh::checkGeoEquivalWith method. This method is used to perform the job. If this->_mesh is not defined or other an exeption will be throw.
References ParaMEDMEM::RefCountObject::decrRef(), and ParaMEDMEM::DataArrayInt::getConstPointer().
void MEDCouplingFieldDouble::substractInPlaceDM | ( | const MEDCouplingFieldDouble * | f, |
int | levOfCheck, | ||
double | prec | ||
) | throw (INTERP_KERNEL::Exception) |
This method is an extension of MEDCouplingFieldDouble::operator-=. It allows a user to operate a difference of 2 fields ('this' and 'f') even if they do not share same meshes. No interpolation will be done here only an analyze of two underlying mesh will be done to see if the meshes are geometrically equivalent. If yes, the eventual renumbering will be done and operator-= applyed after. This method requires that 'f' and 'this' are coherent (check coherency) and that 'f' and 'this' would be coherent for a merge. Semantic of 'levOfCheck' is explained in MEDCouplingMesh::checkGeoEquivalWith method.
bool MEDCouplingFieldDouble::mergeNodes | ( | double | eps, |
double | epsOnVals = 1e-15 |
||
) | throw (INTERP_KERNEL::Exception) |
Merge nodes of underlying mesh. In case of some node will be merged the underlying mesh instance will change. The first 'eps' stands for geometric approximation. The second 'epsOnVals' is for epsilon on values in case of node merging. If 2 nodes distant from less than 'eps' and with value different with more than 'epsOnVals' an exception will be thrown.
References ParaMEDMEM::MEDCouplingMesh::deepCpy().
bool MEDCouplingFieldDouble::mergeNodes2 | ( | double | eps, |
double | epsOnVals = 1e-15 |
||
) | throw (INTERP_KERNEL::Exception) |
Merge nodes with (barycenter computation) of underlying mesh. In case of some node will be merged the underlying mesh instance will change. The first 'eps' stands for geometric approximation. The second 'epsOnVals' is for epsilon on values in case of node merging. If 2 nodes distant from less than 'eps' and with value different with more than 'epsOnVals' an exception will be thrown.
References ParaMEDMEM::MEDCouplingMesh::deepCpy().
bool MEDCouplingFieldDouble::zipCoords | ( | double | epsOnVals = 1e-15 | ) | throw (INTERP_KERNEL::Exception) |
This method applyies ParaMEDMEM::MEDCouplingPointSet::zipCoords method on 'this->_mesh' that should be set and of type ParaMEDMEM::MEDCouplingPointSet. If some nodes have disappeared true is returned. 'epsOnVals' stands for epsilon in case of merge of cells. This value is used as tolerance in case the corresponding values differ.
References ParaMEDMEM::MEDCouplingMesh::deepCpy().
bool MEDCouplingFieldDouble::zipConnectivity | ( | int | compType, |
double | epsOnVals = 1e-15 |
||
) | throw (INTERP_KERNEL::Exception) |
This method applyies ParaMEDMEM::MEDCouplingUMesh::zipConnectivityTraducer on 'this->_mesh' that should be set and of type ParaMEDMEM::MEDCouplingUMesh. The semantic of 'compType' is given in ParaMEDMEM::MEDCouplingUMesh::zipConnectivityTraducer method. 'epsOnVals' stands for epsilon in case of merge of cells. This value is used as tolerance in case the corresponding values differ.
References ParaMEDMEM::MEDCouplingUMesh::deepCpy().
bool MEDCouplingFieldDouble::simplexize | ( | int | policy | ) | throw (INTERP_KERNEL::Exception) |
This method applyies ParaMEDMEM::MEDCouplingUMesh::simplexize on 'this->_mesh'. The semantic of 'policy' is given in ParaMEDMEM::MEDCouplingUMesh::simplexize method.
MEDCouplingFieldDouble * MEDCouplingFieldDouble::doublyContractedProduct | ( | ) | const throw (INTERP_KERNEL::Exception) |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::clone(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::MEDCouplingTimeDiscretization::doublyContractedProduct(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingField::getNature(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::determinant | ( | ) | const throw (INTERP_KERNEL::Exception) |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::clone(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::MEDCouplingTimeDiscretization::determinant(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingField::getNature(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::eigenValues | ( | ) | const throw (INTERP_KERNEL::Exception) |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::clone(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::MEDCouplingTimeDiscretization::eigenValues(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingField::getNature(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::eigenVectors | ( | ) | const throw (INTERP_KERNEL::Exception) |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::clone(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::MEDCouplingTimeDiscretization::eigenVectors(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingField::getNature(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::inverse | ( | ) | const throw (INTERP_KERNEL::Exception) |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::clone(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingField::getNature(), ParaMEDMEM::MEDCouplingTimeDiscretization::inverse(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::trace | ( | ) | const throw (INTERP_KERNEL::Exception) |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::clone(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingField::getNature(), ParaMEDMEM::MEDCouplingField::setMesh(), ParaMEDMEM::MEDCouplingField::setName(), and ParaMEDMEM::MEDCouplingTimeDiscretization::trace().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::deviator | ( | ) | const throw (INTERP_KERNEL::Exception) |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::clone(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::MEDCouplingTimeDiscretization::deviator(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingField::getNature(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::magnitude | ( | ) | const throw (INTERP_KERNEL::Exception) |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::clone(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingField::getNature(), ParaMEDMEM::MEDCouplingTimeDiscretization::magnitude(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
MEDCouplingFieldDouble * MEDCouplingFieldDouble::maxPerTuple | ( | ) | const throw (INTERP_KERNEL::Exception) |
References ParaMEDMEM::MEDCouplingField::_type, ParaMEDMEM::MEDCouplingFieldDiscretization::clone(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingField::getName(), ParaMEDMEM::MEDCouplingField::getNature(), ParaMEDMEM::MEDCouplingTimeDiscretization::maxPerTuple(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
void MEDCouplingFieldDouble::changeNbOfComponents | ( | int | newNbOfComp, |
double | dftValue = 0. |
||
) | throw (INTERP_KERNEL::Exception) |
MEDCouplingFieldDouble * MEDCouplingFieldDouble::keepSelectedComponents | ( | const std::vector< int > & | compoIds | ) | const throw (INTERP_KERNEL::Exception) |
void MEDCouplingFieldDouble::setSelectedComponents | ( | const MEDCouplingFieldDouble * | f, |
const std::vector< int > & | compoIds | ||
) | throw (INTERP_KERNEL::Exception) |
void MEDCouplingFieldDouble::sortPerTuple | ( | bool | asc | ) | throw (INTERP_KERNEL::Exception) |
|
static |
References ParaMEDMEM::MEDCouplingTimeDiscretization::aggregate(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::RefCountObject::decrRef(), ParaMEDMEM::MEDCouplingMesh::mergeMyselfWith(), ParaMEDMEM::MEDCouplingField::setDescription(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
|
static |
This method returns a newly created field that is the union of all fields in input array 'a'. This method expects that 'a' is non empty. If not an exception will be thrown. If there is only one field in 'a' a deepCopy (except time information of mesh and field) of the unique field instance in 'a' will be returned. Generally speaking the first instance field in 'a' will be used to assign tiny attributes of returned field.
References ParaMEDMEM::MEDCouplingTimeDiscretization::aggregate(), areCompatibleForMerge(), ParaMEDMEM::MEDCouplingMesh::buildUnstructured(), ParaMEDMEM::MEDCouplingTimeDiscretization::copyTinyAttrFrom(), ParaMEDMEM::MEDCouplingField::getMesh(), ParaMEDMEM::MEDCouplingUMesh::MergeUMeshes(), ParaMEDMEM::MEDCouplingField::setDescription(), ParaMEDMEM::MEDCouplingField::setMesh(), and ParaMEDMEM::MEDCouplingField::setName().
|
static |
|
static |
MEDCouplingFieldDouble* ParaMEDMEM::MEDCouplingFieldDouble::dot | ( | const MEDCouplingFieldDouble & | other | ) | const throw (INTERP_KERNEL::Exception) |
|
static |
MEDCouplingFieldDouble* ParaMEDMEM::MEDCouplingFieldDouble::crossProduct | ( | const MEDCouplingFieldDouble & | other | ) | const throw (INTERP_KERNEL::Exception) |
|
static |
MEDCouplingFieldDouble* ParaMEDMEM::MEDCouplingFieldDouble::max | ( | const MEDCouplingFieldDouble & | other | ) | const throw (INTERP_KERNEL::Exception) |
Referenced by getMaxValue(), and getMinValue().
|
static |
MEDCouplingFieldDouble* ParaMEDMEM::MEDCouplingFieldDouble::min | ( | const MEDCouplingFieldDouble & | other | ) | const throw (INTERP_KERNEL::Exception) |
Referenced by getMinValue().
MEDCouplingFieldDouble* ParaMEDMEM::MEDCouplingFieldDouble::operator+ | ( | const MEDCouplingFieldDouble & | other | ) | const throw (INTERP_KERNEL::Exception) |
const MEDCouplingFieldDouble & MEDCouplingFieldDouble::operator+= | ( | const MEDCouplingFieldDouble & | other | ) | throw (INTERP_KERNEL::Exception) |
|
static |
MEDCouplingFieldDouble* ParaMEDMEM::MEDCouplingFieldDouble::operator- | ( | const MEDCouplingFieldDouble & | other | ) | const throw (INTERP_KERNEL::Exception) |
const MEDCouplingFieldDouble & MEDCouplingFieldDouble::operator-= | ( | const MEDCouplingFieldDouble & | other | ) | throw (INTERP_KERNEL::Exception) |
|
static |
MEDCouplingFieldDouble* ParaMEDMEM::MEDCouplingFieldDouble::operator* | ( | const MEDCouplingFieldDouble & | other | ) | const throw (INTERP_KERNEL::Exception) |
const MEDCouplingFieldDouble & MEDCouplingFieldDouble::operator*= | ( | const MEDCouplingFieldDouble & | other | ) | throw (INTERP_KERNEL::Exception) |
|
static |
MEDCouplingFieldDouble* ParaMEDMEM::MEDCouplingFieldDouble::operator/ | ( | const MEDCouplingFieldDouble & | other | ) | const throw (INTERP_KERNEL::Exception) |
const MEDCouplingFieldDouble & MEDCouplingFieldDouble::operator/= | ( | const MEDCouplingFieldDouble & | other | ) | throw (INTERP_KERNEL::Exception) |
|
static |
|
static |
This method writes the field series 'fs' in the VTK file 'fileName'. If 'fs' is empty no file is written. If fields lies on more than one mesh an exception will be thrown and no file will be written too. If the single mesh is empty an exception will be thrown. Finally there is a field in 'fs' with no name an exception will be thrown too.
References getArray(), ParaMEDMEM::MEDCouplingField::getName(), ParaMEDMEM::MEDCouplingField::getTypeOfField(), ParaMEDMEM::ON_CELLS, ParaMEDMEM::ON_NODES, and ParaMEDMEM::DataArrayDouble::writeVTK().
const MEDCouplingTimeDiscretization* ParaMEDMEM::MEDCouplingFieldDouble::getTimeDiscretizationUnderGround | ( | ) | const |
MEDCouplingTimeDiscretization* ParaMEDMEM::MEDCouplingFieldDouble::getTimeDiscretizationUnderGround | ( | ) |