www.cemf.ir
shape Class Referenceabstract
+ Inheritance diagram for shape:
+ Collaboration diagram for shape:

Public Member Functions

 TypeInfo ("shape")
 
 shape (const word &fileName, repository *owner, const property &prop)
 
 ~shape () override=default
 
const auto & properties () const
 
const wordVectormaterialNames () const
 
const auto & shapePropertyIds () const
 
bool shapeNameToPropId (const word &name, int8 &propId) const
 
bool propIdValid (uint32 propId) const
 
bool indexToDensity (uint32 index, real &rho) const
 
real indexToDensity (uint32 index) const
 
uint32 propertyId (uint32 index) const
 
virtual real maxBoundingSphere () const =0
 
virtual real minBoundingSphere () const =0
 
virtual bool boundingDiameter (uint32 index, real &bDiam) const =0
 
virtual real boundingDiameter (uint32 index) const =0
 
virtual realVector boundingDiameter () const =0
 
virtual bool mass (uint32 index, real &m) const =0
 
virtual real mass (uint32 index) const =0
 
virtual realVector mass () const =0
 
virtual realVector density () const =0
 
virtual bool Inertia (uint32 index, real &I) const =0
 
virtual real Inertia (uint32 index) const =0
 
virtual realVector Inertia () const =0
 
virtual bool Inertia_xx (uint32 index, real &Ixx) const =0
 
virtual real Inertial_xx (uint32 index) const =0
 
virtual bool Inertia_yy (uint32 index, real &Iyy) const =0
 
virtual real Inertial_yy (uint32 index) const =0
 
virtual bool Inertia_zz (uint32 index, real &Izz) const =0
 
virtual real Inertial_zz (uint32 index) const =0
 
- Public Member Functions inherited from baseShapeNames
 TypeInfo ("baseShapeNames")
 
 baseShapeNames (const word &fileName, repository *owner)
 
 ~baseShapeNames () override=default
 
const wordVectorshapeNames () const
 
wordList shapeNameList () const
 
const auto & hashes () const
 
size_t numShapes () const
 
bool shapeNameToIndex (const word &name, uint32 &index) const
 
bool indexToShapeName (uint32 i, word &name) const
 
bool hashToIndex (const size_t &hs, uint32 &idx)
 
bool indexValid (uint32 index) const
 
bool write (iOstream &os) const override
 write to stream More...
 
bool write (iOstream &os, const IOPattern &iop) const override
 write to stream More...
 
- Public Member Functions inherited from fileDictionary
 TypeInfo ("fileDictionary")
 
 fileDictionary (const objectFile &of, repository *owner=nullptr)
 construct an empty dictionary with keyword and make it global/fileDictionary More...
 
 fileDictionary (const word &keyword, const fileSystem &file)
 construct a dictionary with name and read it from file More...
 
 fileDictionary (const objectFile &objf, const dictionary &dict, repository *owner=nullptr)
 
bool read (iIstream &is, const IOPattern &iop) override
 read from stream More...
 
bool write (iOstream &os, const IOPattern &iop) const override
 write to stream More...
 
bool read (iIstream &is) override
 read from stream More...
 
bool write (iOstream &os) const override
 write to stream More...
 
- Public Member Functions inherited from IOobject
virtual word typeName () const =0
 
 IOobject (const objectFile &objf, const IOPattern &iop, repository *owner)
 
 ~IOobject () override
 
 IOobject (const IOobject &src)=delete
 
 IOobject (IOobject &&src)=delete
 
const IOPatternioPattern () const
 
const repositoryowner () const override
 
repositoryowner ()
 
repositoryreleaseOwner (bool fromOwner=false)
 
bool isIncluded (const word &objName) const override
 
bool isExcluded (const word &objName) const override
 
bool readObject (bool rdHdr=true)
 
bool writeObject () const
 
bool readObject (iIstream &is, bool rdHdr=true)
 
bool writeObject (iOstream &os) const
 
- Public Member Functions inherited from IOfileHeader
 IOfileHeader (const objectFile &objf)
 
const wordobjectName () const
 
const wordobjectType () const
 
fileSystem path () const
 
bool outFileBinary () const
 
bool inFileBinary () const
 
bool headerOk (bool silent=false)
 
bool implyRead () const
 Imply read. More...
 
bool implyWrite () const
 Imply write. More...
 
bool fileExist () const
 Check if file exists. More...
 
bool readIfPresent () const
 Check read if present. More...
 
bool writeHeader () const
 Check if the header should be written to file True: on master + implyWrite + readWriteHeader = true False: otherwise. More...
 
bool writeHeader (iOstream &os, const word &typeName, bool forceWrite=false) const
 Write the header to the file , typeName comes from caller. More...
 
bool writeHeader (iOstream &os, bool forceWrite=false) const
 Write the header to the file, typeName comes from the one read from file. More...
 
bool readHeader () const
 Check if header should be read from file. More...
 
bool readHeader (iIstream &is, bool silent=false)
 Read the header in the file. More...
 
bool writeBanner (iOstream &os) const
 write the banner More...
 
bool writeSeparator (iOstream &os) const
 wirte a separator line More...
 
- Public Member Functions inherited from objectFile
 objectFile (const word &name)
 
 objectFile (const word &name, const fileSystem &localPath, const readFlag &rf=readFlag::READ_NEVER, const writeFlag &wf=writeFlag::WRITE_NEVER, bool rwHeader=true)
 
 objectFile (const objectFile &src)=default
 
 objectFile (objectFile &&src)=default
 
objectFileoperator= (const objectFile &rhs)=default
 
objectFileoperator= (objectFile &&rhs)=default
 
virtual ~objectFile ()=default
 
virtual const wordname () const
 
virtual const fileSystemlocalPath () const
 
readFlag rFlag () const
 
writeFlag wFlag () const
 
bool isReadAlways () const
 
bool isReadNever () const
 
bool isReadIfPresent () const
 
bool isWriteAlways () const
 
bool isWriteNever () const
 
bool readWriteHeader () const
 
- Public Member Functions inherited from dictionary
 TypeInfo ("dictionary")
 
 dictionary (const word &keyword, bool global)
 construct an empty dictionary with keyword and make it global/fileDictionary (if true) More...
 
 dictionary (const word &keyword, const fileSystem &file)
 construct a dictionary with name and read it from file More...
 
 dictionary ()
 cunstructs a null dictionary More...
 
 dictionary (const word &keyword)
 construct an empty dictionary with keyword More...
 
 dictionary (const word &keyword, const dictionary &parDict)
 cunstruct an empty dictionary with keyword and parDict More...
 
 dictionary (const word &keyword, const dictionary &parDict, iIstream &is)
 cunstruct a dictionary with keyword and parDict and from stream More...
 
 dictionary (const word &keyword, const dictionary &parDict, const dictionary &dict)
 copy construct with keyword and new parrent dict discard the keyword and parDict of dict More...
 
 dictionary (const dictionary &)
 copy construct as default behavior entries_ are copied smoothly. More...
 
 dictionary (const dictionary &src, bool global)
 
dictionaryoperator= (const dictionary &rhs)
 assignment preserve name of this dictionary only entries are transfered with ownership More...
 
virtual dictionarydictPtr ()
 pointer to this dictionary More...
 
virtual const dictionarydictPtr () const
 pointer to this dictionary More...
 
virtual bool isDictionary () const
 if this is a dictionary More...
 
virtual word globalName () const
 global name of entry, separated with dots More...
 
virtual const dictionaryparrentDict () const
 const ref to parrent dictionary More...
 
virtual dictionarydict ()
 ref to this dictionary, if it is a dictionary More...
 
virtual const dictionarydict () const
 const ref to this dictionary, if it is a dictionary More...
 
virtual bool isFileDict () const
 if dictionary is file dictionary, return false More...
 
bool addPtr (const word &keyword, uniquePtr< iEntry > &etry, bool warning=true)
 add a pointer entry (dictionary/dataEntry) replaces this entry with existing one and issue a warning More...
 
bool add (const word &keyword, const float &v)
 add a float dataEntry More...
 
bool add (const word &keyword, const double &v)
 add a double dataEntry More...
 
bool add (const word &keyword, const word &v)
 add a word dataEntry More...
 
bool add (const word &keyword, const int64 &v)
 add a int64 dataEntry More...
 
bool add (const word &keyword, const int32 &v)
 add a int32 dataEntry More...
 
bool add (const word &keyword, const int8 &v)
 add a int8 dataEntry More...
 
bool add (const word &keyword, const uint64 &v)
 add a uint64 dataEntry More...
 
bool add (const word &keyword, const uint32 &v)
 add a uint32 dataEntry More...
 
bool add (const word &keyword, const uint8 &v)
 add a uint8 dataEntry More...
 
bool addDict (const word &keyword, const dictionary &dict)
 add a dictionary with the specifiedd keyword, if it exists, replace it. More...
 
template<typename T >
bool add (const word &keyword, const T &v)
 add a dataEntry of type T More...
 
template<typename T >
bool addOrKeep (const word &keyword, const T &v)
 
template<typename T >
bool addOrReplace (const word &keyword, const T &v)
 
void clear ()
 
dictionarysubDictPtr (const word &keyword)
 pointer to a subdictionary fatalExit if not found More...
 
dictionarysubDict (const word &keyword)
 ref to a subdictioanry fatalExit if not found
More...
 
const dictionarysubDict (const word &keyword) const
 const ref to a subdictioanry fatalExit if not found
More...
 
dataEntrydataEntryPtr (const word &keyword)
 pointer to a dataEntry fatalExit if not found/not a dataEntry More...
 
dataEntrydataEntryRef (const word &keyword)
 ref to a subdictioanry fatalExit if not found/not a dataEntry
More...
 
const dataEntrydataEntryRef (const word &keyword) const
 const ref to a subdictioanry fatalExit if not found/not a dataEntry
More...
 
dictionarysubDictOrCreate (const word &keyword)
 search for a sub-dict with keyword create a new sub-dict if not found and return a ref to it fatalExit if fails More...
 
template<typename T >
getVal (const word &keyword) const
 get the value of data entry More...
 
template<typename T >
getValMax (const word &keyword, const T &maxVal) const
 get the value of data entry and return max(value, maxVal) More...
 
template<typename T >
getValMin (const word &keyword, const T &minVal) const
 get the value of data entry and return min(value, minVal) More...
 
template<typename T >
getValOrSet (const word &keyword, const T &setVal) const
 get the value of data entry or if not found, set the value to setVal More...
 
template<typename T >
getValOrSetMax (const word &keyword, const T &setMaxVal) const
 get the value of data entry anf return max(setMaxVal, value) if not found, set the value to setMaxVal
More...
 
template<typename T >
getValOrSetMin (const word &keyword, const T &setMinVal) const
 get the value of data entry anf return max(setMinVal, value) if not found, set the value to setMinVal
More...
 
size_t numEntries () const
 return number of entris in this dictionary More...
 
size_t numDataEntries () const
 return number of non-nullptr dataEntries More...
 
size_t numDictionaries () const
 return number of non-nullptr dictionaries More...
 
wordList allKeywords () const
 return all keywords (non-nullptr) in this dictionary More...
 
wordList dataEntryKeywords () const
 return a list of all dataEntries (non-nullptr) keywords More...
 
wordList dictionaryKeywords () const
 return a list of all dictionary (non-null) keywords More...
 
bool containsDictionay (const word &name) const
 check if a sub-dictionary exists More...
 
bool containsDataEntry (const word &name) const
 check if a data entry exist More...
 
virtual uniquePtr< iEntryclone () const
 clone polymorphic object (here dictionary) More...
 
virtual iEntryclonePtr () const
 clone the object More...
 
virtual uniquePtr< iEntryclone (const dictionary &parDict) const
 clone the polymorhpic object with parDict as the new parrent dictionary More...
 
virtual iEntryclonePtr (const dictionary &parDict) const
 clone the object and change its ownership to parDict More...
 
bool read (iIstream &is) override
 read from stream More...
 
bool write (iOstream &os) const override
 write to stream More...
 
- Public Member Functions inherited from iEntry
 TypeInfo ("iEntry")
 Type info. More...
 
 iEntry ()
 empty constructor More...
 
 iEntry (const word &key)
 construct with a keyword More...
 
virtual ~iEntry ()
 destructor More...
 
virtual const wordkeyword () const
 return keyword More...
 
virtual wordkeyword ()
 return keyword More...
 
virtual word name () const
 name/keyword of entry More...
 

Protected Member Functions

bool writeToDict (dictionary &dict) const override
 
- Protected Member Functions inherited from IOfileHeader
uniquePtr< iFstreaminStream () const
 
uniquePtr< oFstreamoutStream () const
 
uniquePtr< oFstreamdummyOutStream () const
 
- Protected Member Functions inherited from dictionary
iEntryfindEntry (const word &keyword)
 find an entry based on keyword return nullptr if not found More...
 
iEntryfindEntry (const word &keyword) const
 find and entry based on keyword return nullptr if not found More...
 
template<typename T >
bool readDataEntry (const word &keyword, T &val) const
 reads a dataEntry with keyword from dictionary More...
 
bool readDictionary (iIstream &is)
 read dictionary from stream - without keyword More...
 
bool writeDictionary (iOstream &os, bool withBlock=true) const
 write dictionary to stream - with keyword More...
 
- Protected Member Functions inherited from iEntry
bool writeKeyword (iOstream &os) const
 

Private Member Functions

bool findPropertyIds ()
 
bool readFromDictionary2 ()
 

Private Attributes

const propertyproperty_
 property of materials More...
 
uint32Vector shapePropertyIds_
 list of property ids of shapes (index) More...
 
wordVector materialNames_
 list of material names More...
 

Additional Inherited Members

- Public Types inherited from objectFile
enum  readFlag { READ_ALWAYS, READ_NEVER, READ_IF_PRESENT }
 
enum  writeFlag { WRITE_ALWAYS, WRITE_NEVER }
 
- Static Public Member Functions inherited from iEntry
static bool readKeyword (iIstream &is, word &keyword, token &tok)
 read a keyword from stream More...
 
static bool createEntry (dictionary &parDict, iIstream &is, bool hasBlockToken=false)
 create an entry (dataEntry or dictionary) from stream More...
 
- Static Public Attributes inherited from dictionary
static dictionary nullDict
 
- Protected Attributes inherited from IOfileHeader
word objectName_
 
word objectType_
 
word fileFormat_ = "ASCII"
 file format read from file More...
 
- Protected Attributes inherited from dictionary
word name_
 global name of dictionary, separated with dots More...
 
wordOrderedMapPtr< iEntryentries_
 all the entries (data and dictionary) of the current dictionary More...
 
List< iEntry * > orderedEntries_
 entries in order of insertion More...
 
const dictionaryparDict_
 ref to parrent dictionary More...
 
bool isGlobal_ = false
 
- Protected Attributes inherited from iEntry
word keyword_
 

Detailed Description

Definition at line 30 of file shape.hpp.

Constructor & Destructor Documentation

◆ shape()

shape ( const word fileName,
repository owner,
const property prop 
)

Definition at line 41 of file shape.cpp.

References fatalErrorInFunction, and fatalExit.

◆ ~shape()

~shape ( )
overridedefault

Member Function Documentation

◆ findPropertyIds()

bool findPropertyIds ( )
private

◆ readFromDictionary2()

bool readFromDictionary2 ( )
private

Definition at line 24 of file shape.cpp.

References pFlow::endl(), and fatalErrorInFunction.

+ Here is the call graph for this function:

◆ writeToDict()

bool writeToDict ( dictionary dict) const
overrideprotectedvirtual

Reimplemented from baseShapeNames.

Reimplemented in sphereShape.

Definition at line 65 of file shape.cpp.

References dictionary::add(), pFlow::endl(), fatalErrorInFunction, dictionary::globalName(), and baseShapeNames::writeToDict().

Referenced by sphereShape::writeToDict(), and grainShape::writeToDict().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TypeInfo()

TypeInfo ( "shape"  )

◆ properties()

const auto& properties ( ) const
inline

Definition at line 67 of file shape.hpp.

References shape::property_.

◆ materialNames()

const wordVector& materialNames ( ) const
inline

Definition at line 74 of file shape.hpp.

References shape::materialNames_.

◆ shapePropertyIds()

const auto& shapePropertyIds ( ) const
inline

Definition at line 80 of file shape.hpp.

References shape::shapePropertyIds_.

Referenced by grainParticles::initializeParticles(), and sphereParticles::initializeParticles().

+ Here is the caller graph for this function:

◆ shapeNameToPropId()

bool shapeNameToPropId ( const word name,
int8 propId 
) const
inline

Definition at line 88 of file shape.hpp.

References iEntry::name(), baseShapeNames::shapeNameToIndex(), and shape::shapePropertyIds_.

+ Here is the call graph for this function:

◆ propIdValid()

bool propIdValid ( uint32  propId) const
inline

Definition at line 99 of file shape.hpp.

References property::numMaterials(), and shape::property_.

+ Here is the call graph for this function:

◆ indexToDensity() [1/2]

bool indexToDensity ( uint32  index,
real rho 
) const
inline

Definition at line 106 of file shape.hpp.

References property::density(), baseShapeNames::indexValid(), shape::property_, and shape::shapePropertyIds_.

+ Here is the call graph for this function:

◆ indexToDensity() [2/2]

real indexToDensity ( uint32  index) const
inline

Definition at line 114 of file shape.hpp.

References property::density(), fatalExit, baseShapeNames::indexValid(), shape::property_, and shape::shapePropertyIds_.

+ Here is the call graph for this function:

◆ propertyId()

uint32 propertyId ( uint32  index) const
inline

Definition at line 126 of file shape.hpp.

References fatalExit, baseShapeNames::indexValid(), and shape::shapePropertyIds_.

+ Here is the call graph for this function:

◆ maxBoundingSphere()

virtual real maxBoundingSphere ( ) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ minBoundingSphere()

virtual real minBoundingSphere ( ) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ boundingDiameter() [1/3]

virtual bool boundingDiameter ( uint32  index,
real bDiam 
) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ boundingDiameter() [2/3]

virtual real boundingDiameter ( uint32  index) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ boundingDiameter() [3/3]

virtual realVector boundingDiameter ( ) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ mass() [1/3]

virtual bool mass ( uint32  index,
real m 
) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ mass() [2/3]

virtual real mass ( uint32  index) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ mass() [3/3]

virtual realVector mass ( ) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ density()

virtual realVector density ( ) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ Inertia() [1/3]

virtual bool Inertia ( uint32  index,
real I 
) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ Inertia() [2/3]

virtual real Inertia ( uint32  index) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ Inertia() [3/3]

virtual realVector Inertia ( ) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ Inertia_xx()

virtual bool Inertia_xx ( uint32  index,
real Ixx 
) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ Inertial_xx()

virtual real Inertial_xx ( uint32  index) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ Inertia_yy()

virtual bool Inertia_yy ( uint32  index,
real Iyy 
) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ Inertial_yy()

virtual real Inertial_yy ( uint32  index) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ Inertia_zz()

virtual bool Inertia_zz ( uint32  index,
real Izz 
) const
pure virtual

Implemented in grainShape, and sphereShape.

◆ Inertial_zz()

virtual real Inertial_zz ( uint32  index) const
pure virtual

Implemented in grainShape, and sphereShape.

Member Data Documentation

◆ property_

const property& property_
private

property of materials

Definition at line 37 of file shape.hpp.

Referenced by shape::findPropertyIds(), shape::indexToDensity(), shape::properties(), and shape::propIdValid().

◆ shapePropertyIds_

uint32Vector shapePropertyIds_
private

list of property ids of shapes (index)

Definition at line 40 of file shape.hpp.

Referenced by shape::findPropertyIds(), shape::indexToDensity(), shape::propertyId(), shape::shapeNameToPropId(), and shape::shapePropertyIds().

◆ materialNames_

wordVector materialNames_
private

list of material names

Definition at line 43 of file shape.hpp.

Referenced by shape::findPropertyIds(), and shape::materialNames().


The documentation for this class was generated from the following files: