Version: 9.12.0
MEDCoupling::MEDFileField1TSWithoutSDA Class Reference
Inheritance diagram for MEDCoupling::MEDFileField1TSWithoutSDA:
Collaboration diagram for MEDCoupling::MEDFileField1TSWithoutSDA:

Public Member Functions

MEDFileFloatField1TSWithoutSDAconvertToFloat () const
 
MEDFileInt32Field1TSWithoutSDAconvertToInt () const
 
MEDFileInt64Field1TSWithoutSDAconvertToInt64 () const
 
MEDFileField1TSWithoutSDAdeepCopy () const
 
std::string getClassName () const override
 
std::vector< std::vector< DataArrayDouble * > > getFieldSplitedByType2 (const std::string &mname, std::vector< INTERP_KERNEL::NormalizedCellType > &types, std::vector< std::vector< TypeOfField > > &typesF, std::vector< std::vector< std::string > > &pfls, std::vector< std::vector< std::string > > &locs) const
 
const char * getTypeStr () const
 
DataArraygetUndergroundDataArrayExt (std::vector< std::pair< std::pair< INTERP_KERNEL::NormalizedCellType, int >, std::pair< mcIdType, mcIdType > > > &entries) const
 
 MEDFileField1TSWithoutSDA ()
 
 MEDFileField1TSWithoutSDA (const std::string &fieldName, const std::string &meshName, int csit, int iteration, int order, const std::vector< std::string > &infos)
 
MEDFileField1TSWithoutSDAshallowCpy () const
 
- Public Member Functions inherited from MEDCoupling::MEDFileField1TSTemplateWithoutSDA< double >
void aggregate (const typename std::vector< typename MLFieldTraits< double >::F1TSWSDAType const * > &f1tss, const std::vector< std::vector< std::pair< int, mcIdType > > > &dts)
 
void copyTimeInfoFrom (const typename Traits< double >::FieldType *mcf)
 
DataArraycreateNewEmptyDataArrayInstance () const
 
DataArraygetOrCreateAndGetArray ()
 
const DataArraygetOrCreateAndGetArray () const
 
Traits< double >::ArrayType * getOrCreateAndGetArrayTemplate ()
 
Traits< double >::ArrayType const * getOrCreateAndGetArrayTemplate () const
 
DataArraygetUndergroundDataArray () const
 
Traits< double >::ArrayType * getUndergroundDataArrayTemplate () const
 
Traits< double >::ArrayType * getUndergroundDataArrayTemplateExt (std::vector< std::pair< std::pair< INTERP_KERNEL::NormalizedCellType, int >, std::pair< mcIdType, mcIdType > > > &entries) const
 
void setArray (DataArray *arr)
 
- Public Member Functions inherited from MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA
void accept (MEDFileFieldVisitor &visitor) const
 
bool allocIfNecessaryTheArrayToReceiveDataFromFile ()
 
void allocNotFromFile (mcIdType newNbOfTuples)
 
void changeLocsRefsNamesGen2 (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif)
 
bool changeMeshNames (const std::vector< std::pair< std::string, std::string > > &modifTab)
 
void changePflsRefsNamesGen2 (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif)
 
void convertMedBallIntoClassic ()
 
mcIdType copyTinyInfoFrom (const TimeHolder *th, const MEDCouplingFieldTemplate *field, const DataArray *arr)
 
void deepCpyLeavesFrom (const MEDFileAnyTypeField1TSWithoutSDA &other)
 
MEDCouplingFieldDoublefieldOnMesh (const MEDFileFieldGlobsReal *glob, const MEDFileMesh *mesh, MCAuto< DataArray > &arrOut, const MEDFileFieldNameScope &nasc) const
 
void fillIteration (std::pair< int, int > &p) const
 
void fillTypesOfFieldAvailable (std::vector< TypeOfField > &types) const
 
int getDimension () const
 
std::vector< const BigMemoryObject * > getDirectChildrenWithNull () const
 
std::pair< int, int > getDtIt () const
 
MEDCouplingFieldDoublegetFieldAtLevel (TypeOfField type, int meshDimRelToMax, const std::string &mName, int renumPol, const MEDFileFieldGlobsReal *glob, MCAuto< DataArray > &arrOut, const MEDFileFieldNameScope &nasc) const
 
MEDCouplingFieldDoublegetFieldAtTopLevel (TypeOfField type, const std::string &mName, int renumPol, const MEDFileFieldGlobsReal *glob, MCAuto< DataArray > &arrOut, const MEDFileFieldNameScope &nasc) const
 
MEDCouplingFieldDoublegetFieldOnMeshAtLevel (TypeOfField type, int meshDimRelToMax, int renumPol, const MEDFileFieldGlobsReal *glob, const MEDFileMesh *mesh, MCAuto< DataArray > &arrOut, const MEDFileFieldNameScope &nasc) const
 
MEDCouplingFieldDoublegetFieldOnMeshAtLevel (TypeOfField type, int renumPol, const MEDFileFieldGlobsReal *glob, const MEDCouplingMesh *mesh, const DataArrayIdType *cellRenum, const DataArrayIdType *nodeRenum, MCAuto< DataArray > &arrOut, const MEDFileFieldNameScope &nasc) const
 
std::vector< std::vector< std::pair< mcIdType, mcIdType > > > getFieldSplitedByType (const std::string &mname, std::vector< INTERP_KERNEL::NormalizedCellType > &types, std::vector< std::vector< TypeOfField > > &typesF, std::vector< std::vector< std::string > > &pfls, std::vector< std::vector< std::string > > &locs) const
 
DataArraygetFieldWithProfile (TypeOfField type, int meshDimRelToMax, const MEDFileMesh *mesh, DataArrayIdType *&pfl, const MEDFileFieldGlobsReal *glob, const MEDFileFieldNameScope &nasc) const
 
std::size_t getHeapMemorySizeWithoutChildren () const
 
std::vector< std::string > & getInfo ()
 
const std::vector< std::string > & getInfo () const
 
int getIteration () const
 
MEDFileFieldPerMeshPerTypePerDisc * getLeafGivenMeshAndTypeAndLocId (const std::string &mName, INTERP_KERNEL::NormalizedCellType typ, int locId)
 
const MEDFileFieldPerMeshPerTypePerDisc * getLeafGivenMeshAndTypeAndLocId (const std::string &mName, INTERP_KERNEL::NormalizedCellType typ, int locId) const
 
std::vector< std::string > getLocsReallyUsed2 () const
 
std::vector< std::string > getLocsReallyUsedMulti2 () const
 
int getMeshIteration () const
 
int getMeshOrder () const
 
void getMeshSENames (std::vector< std::pair< std::string, std::string > > &ps) const
 
int getNonEmptyLevels (const std::string &mname, std::vector< int > &levs) const
 
std::size_t getNumberOfComponents () const
 
int getOrder () const
 
std::vector< std::string > getPflsReallyUsed2 () const
 
std::vector< std::string > getPflsReallyUsedMulti2 () const
 
double getTime (int &iteration, int &order) const
 
std::vector< TypeOfFieldgetTypesOfFieldAvailable () const
 
bool isDealingTS (int iteration, int order) const
 
mcIdType keepOnlyGaussDiscretization (std::size_t idOfDisc, std::vector< std::pair< mcIdType, mcIdType > > &its)
 
void keepOnlyOnSE (const std::string &seName)
 
mcIdType keepOnlySpatialDiscretization (TypeOfField tof, std::vector< std::pair< mcIdType, mcIdType > > &its)
 
void keepOnlyStructureElements ()
 
void killStructureElements ()
 
void loadBigArraysRecursively (med_idt fid, const MEDFileFieldNameScope &nasc)
 
void loadBigArraysRecursivelyIfNecessary (med_idt fid, const MEDFileFieldNameScope &nasc)
 
void loadOnlyStructureOfDataRecursively (med_idt fid, const MEDFileFieldNameScope &nasc, const MEDFileMeshes *ms, const MEDFileEntities *entities, const MEDFileCapability *capability=nullptr)
 
void loadOnlyStructureOfDataRecursively (med_idt fid, const MEDFileFieldNameScope &nasc, const PartDefinition *pd, const MEDFileEntities *entities, const MEDFileCapability *capability=nullptr)
 
void loadStructureAndBigArraysRecursively (med_idt fid, const MEDFileFieldNameScope &nasc, const MEDFileMeshes *ms, const MEDFileEntities *entities)
 
void loadStructureAndBigArraysRecursively (med_idt fid, const MEDFileFieldNameScope &nasc, const PartDefinition *pd, const MEDFileEntities *entities)
 
void makeReduction (INTERP_KERNEL::NormalizedCellType ct, TypeOfField tof, const DataArrayIdType *pfl)
 
 MEDFileAnyTypeField1TSWithoutSDA ()
 
 MEDFileAnyTypeField1TSWithoutSDA (const std::string &fieldName, const std::string &meshName, int csit, int iteration, int order)
 
bool onlyStructureElements () const
 
bool presenceOfMultiDiscPerGeoType () const
 
bool presenceOfStructureElements () const
 
bool renumberEntitiesLyingOnMesh (const std::string &meshName, const std::vector< mcIdType > &oldCode, const std::vector< mcIdType > &newCode, const DataArrayIdType *renumO2N, MEDFileFieldGlobsReal &glob)
 
void setFieldNoProfileSBT (const TimeHolder *th, const MEDCouplingFieldTemplate *field, const DataArray *arr, MEDFileFieldGlobsReal &glob, const MEDFileFieldNameScope &nasc)
 
void setFieldProfile (const TimeHolder *th, const MEDCouplingFieldTemplate *field, const DataArray *arrOfVals, const MEDFileMesh *mesh, int meshDimRelToMax, const DataArrayIdType *profile, MEDFileFieldGlobsReal &glob, const MEDFileFieldNameScope &nasc, bool smartPflKiller=true)
 
void setInfo (const std::vector< std::string > &infos)
 
void setTime (int iteration, int order, double val)
 
virtual void simpleRepr (int bkOffset, std::ostream &oss, int f1tsId) const
 
virtual std::vector< MCAuto< MEDFileAnyTypeField1TSWithoutSDA > > splitComponents () const
 
std::vector< MCAuto< MEDFileAnyTypeField1TSWithoutSDA > > splitDiscretizations () const
 
std::vector< MCAuto< MEDFileAnyTypeField1TSWithoutSDA > > splitMultiDiscrPerGeoTypes () const
 
void unloadArrays ()
 
void writeLL (med_idt fid, const MEDFileWritable &opts, const MEDFileFieldNameScope &nasc) const
 
- Public Member Functions inherited from MEDCoupling::RefCountObjectOnly
bool decrRef () const
 
int getRCValue () const
 
void incrRef () const
 
RefCountObjectOnlyoperator= (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::MEDFileFieldNameScope
void copyNameScope (const MEDFileFieldNameScope &other)
 
std::string getDtUnit () const
 
std::string getMeshName () const
 
std::string getName () const
 
 MEDFileFieldNameScope ()
 
 MEDFileFieldNameScope (const std::string &fieldName, const std::string &meshName)
 
void setDtUnit (const std::string &dtUnit)
 
void setMeshName (const std::string &meshName)
 
void setName (const std::string &fieldName)
 

Static Public Member Functions

static void CheckMeshDimRel (int meshDimRelToMax)
 
static std::vector< mcIdType > CheckSBTMesh (const MEDCouplingMesh *mesh)
 
static MEDFileField1TSWithoutSDANew (const std::string &fieldName, const std::string &meshName, int csit, int iteration, int order, const std::vector< std::string > &infos)
 
- Static Public Member Functions inherited from MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA
static std::string FieldNameToMEDFileConvention (const std::string &nonCorrectFieldName)
 
- Static Public Member Functions inherited from MEDCoupling::BigMemoryObject
static std::size_t GetHeapMemorySizeOfObjs (const std::vector< const BigMemoryObject * > &objs)
 

Static Public Attributes

static const char TYPE_STR [] ="FLOAT64"
 

Additional Inherited Members

- Public Attributes inherited from MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA
int _csit
 
mcIdType _nb_of_tuples_to_be_allocated
 
- Protected Member Functions inherited from MEDCoupling::MEDFileField1TSTemplateWithoutSDA< double >
 MEDFileField1TSTemplateWithoutSDA ()
 
 MEDFileField1TSTemplateWithoutSDA (const std::string &fieldName, const std::string &meshName, int csit, int iteration, int order)
 
- Protected Member Functions inherited from MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA
int addNewEntryIfNecessary (const MEDCouplingMesh *mesh)
 
int getMeshIdFromMeshName (const std::string &mName) const
 
void updateData (mcIdType newLgth, const std::vector< std::pair< mcIdType, mcIdType > > &oldStartStops)
 
- Protected Member Functions inherited from MEDCoupling::RefCountObject
 RefCountObject ()
 
 RefCountObject (const RefCountObject &other)
 
virtual ~RefCountObject ()
 
- Protected Member Functions inherited from MEDCoupling::RefCountObjectOnly
 RefCountObjectOnly ()
 
 RefCountObjectOnly (const RefCountObjectOnly &other)
 
virtual ~RefCountObjectOnly ()
 
- Protected Attributes inherited from MEDCoupling::MEDFileField1TSTemplateWithoutSDA< double >
MCAuto< typename Traits< double >::ArrayType > _arr
 
- Protected Attributes inherited from MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA
double _dt
 
std::vector< MCAuto< MEDFileFieldPerMesh > > _field_per_mesh
 
int _iteration
 
int _order
 
- Protected Attributes inherited from MEDCoupling::MEDFileFieldNameScope
std::string _dt_unit
 
std::string _mesh_name
 
std::string _name
 

Detailed Description

SDA is for Shared Data Arrays such as profiles.

Constructor & Destructor Documentation

◆ MEDFileField1TSWithoutSDA() [1/2]

MEDFileField1TSWithoutSDA::MEDFileField1TSWithoutSDA ( )

Referenced by New(), and shallowCpy().

◆ MEDFileField1TSWithoutSDA() [2/2]

MEDFileField1TSWithoutSDA::MEDFileField1TSWithoutSDA ( const std::string &  fieldName,
const std::string &  meshName,
int  csit,
int  iteration,
int  order,
const std::vector< std::string > &  infos 
)

Member Function Documentation

◆ getTypeStr()

const char * MEDFileField1TSWithoutSDA::getTypeStr ( ) const
virtual

◆ getClassName()

std::string MEDCoupling::MEDFileField1TSWithoutSDA::getClassName ( ) const
overridevirtual

◆ getUndergroundDataArrayExt()

DataArray * MEDFileField1TSWithoutSDA::getUndergroundDataArrayExt ( std::vector< std::pair< std::pair< INTERP_KERNEL::NormalizedCellType, int >, std::pair< mcIdType, mcIdType > > > &  entries) const
virtual

Returns a pointer to the underground DataArrayDouble instance and a sequence describing parameters of a support of each part of this field. The caller should not decrRef() the returned DataArrayDouble. This method allows for a direct access to the field values. This method is intended for the field lying on one mesh only.

Parameters
[in,out]entries- the sequence describing parameters of a support of each part of this field. Each item of this sequence consists of two parts. The first part describes a type of mesh entity and an id of discretization of a current field part. The second part describes a range of values [begin,end) within the returned array relating to the current field part.
Returns
DataArrayDouble * - the pointer to the field values array.
Exceptions
Ifthe number of underlying meshes is not equal to 1.
Ifno field values are available.
See also
getUndergroundDataArray()

Implements MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA.

References MEDCoupling::MEDFileField1TSTemplateWithoutSDA< double >::getUndergroundDataArrayTemplateExt().

◆ getFieldSplitedByType2()

std::vector< std::vector< DataArrayDouble * > > MEDFileField1TSWithoutSDA::getFieldSplitedByType2 ( const std::string &  mname,
std::vector< INTERP_KERNEL::NormalizedCellType > &  types,
std::vector< std::vector< TypeOfField > > &  typesF,
std::vector< std::vector< std::string > > &  pfls,
std::vector< std::vector< std::string > > &  locs 
) const

Returns all attributes and values of parts of this field lying on a given mesh. Each part differs from other ones by a type of supporting mesh entity. The i-th item of every of returned sequences refers to the i-th part of this field. Thus all sequences returned by this method are of the same length equal to number of different types of supporting entities.
A field part can include sub-parts with several different spatial discretizations, ON_CELLS and ON_GAUSS_PT for example. Hence, some of the returned sequences contains nested sequences, and an item of a nested sequence corresponds to a type of spatial discretization.
This method allows for iteration over MEDFile DataStructure with a reduced overhead. The overhead is due to selecting values into new instances of DataArrayDouble.

Parameters
[in]mname- a name of a mesh of interest. It can be NULL, which is valid for the case with only one underlying mesh. (Actually, the number of meshes is not checked if mname == NULL).
[in,out]types- a sequence of types of underlying mesh entities. A type per a field part is returned.
[in,out]typesF- a sequence of sequences of types of spatial discretizations. A field part can include sub-parts with several different spatial discretizations, ON_CELLS and ON_GAUSS_PT for example. This sequence is of the same length as types.
[in,out]pfls- a sequence returning a profile name per each type of spatial discretization. A profile name can be empty. Length of this and of nested sequences is the same as that of typesF.
[in,out]locs- a sequence returning a localization name per each type of spatial discretization. A localization name can be empty. Length of this and of nested sequences is the same as that of typesF.
Returns
std::vector< std::vector<DataArrayDouble *> > - a sequence holding arrays of values per each type of spatial discretization within one mesh entity type. The caller is to delete each DataArrayDouble using decrRef() as it is no more needed. Length of this and of nested sequences is the same as that of typesF.
Exceptions
Ifno field is lying on mname.

References MEDCoupling::MEDFileField1TSTemplateWithoutSDA< double >::_arr, and MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA::_field_per_mesh.

Referenced by MEDCoupling::MEDFileFieldMultiTSWithoutSDA::getFieldSplitedByType2().

◆ CheckMeshDimRel()

void MEDFileField1TSWithoutSDA::CheckMeshDimRel ( int  meshDimRelToMax)
static

Throws if a given value is not a valid (non-extended) relative dimension.

Parameters
[in]meshDimRelToMax- the relative dimension value.
Exceptions
IfmeshDimRelToMax > 0.

◆ CheckSBTMesh()

std::vector< mcIdType > MEDFileField1TSWithoutSDA::CheckSBTMesh ( const MEDCouplingMesh mesh)
static

Checks if elements of a given mesh are in the order suitable for writing to the MED file. If this is not so, an exception is thrown. In a case of success, returns a vector describing types of elements and their number.

Parameters
[in]mesh- the mesh to check.
Returns
std::vector<int> - a vector holding for each element type (1) item of INTERP_KERNEL::NormalizedCellType, (2) number of elements, (3) -1. These values are in full-interlace mode.
Exceptions
Ifelements in mesh are not in the order suitable for writing to the MED file.

References MEDCoupling::MEDCouplingMesh::checkTypeConsistencyAndContig(), MEDCoupling::MEDCouplingMesh::getAllGeoTypes(), MEDCoupling::MEDCouplingMesh::getNumberOfCellsWithType(), and typmai2.

Referenced by MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA::setFieldNoProfileSBT().

◆ New()

MEDFileField1TSWithoutSDA * MEDFileField1TSWithoutSDA::New ( const std::string &  fieldName,
const std::string &  meshName,
int  csit,
int  iteration,
int  order,
const std::vector< std::string > &  infos 
)
static

◆ shallowCpy()

MEDFileField1TSWithoutSDA * MEDFileField1TSWithoutSDA::shallowCpy ( ) const
virtual

◆ deepCopy()

◆ convertToInt()

◆ convertToInt64()

◆ convertToFloat()

MEDFileFloatField1TSWithoutSDA* MEDCoupling::MEDFileField1TSWithoutSDA::convertToFloat ( ) const

Member Data Documentation

◆ TYPE_STR

const char MEDFileField1TSWithoutSDA::TYPE_STR ="FLOAT64"
static

Referenced by getTypeStr().