www.cemf.ir
property Class Reference

property holds the pure properties of materials. More...

+ Inheritance diagram for property:
+ Collaboration diagram for property:

Public Member Functions

 TypeInfo ("property")
 Type info. More...
 
 property (const word &fileName, repository *owner=nullptr)
 
 property (const word &fileName, const fileSystem &dir)
 
 property (const word &fileName, const wordVector &materials, const realVector &densities, repository *owner=nullptr)
 
 property (const property &)=default
 Default copy. More...
 
 property (property &&)=default
 Default move. More...
 
propertyoperator= (const property &)=default
 Default copy assignment. More...
 
propertyoperator= (property &&)=default
 Default move assignment. More...
 
 ~property () override=default
 Default destructor. More...
 
auto numMaterials () const
 Return number of materials. More...
 
const auto & materials () const
 Return list of material names. More...
 
const auto & densities () const
 Return the list of densities. More...
 
const wordmaterial (uint32 i) const
 Return the material name of material i. More...
 
bool material (uint32 i, word &name) const
 Get the name of material i. More...
 
real density (uint32 i) const
 Return density of material i. More...
 
bool density (uint32 i, real &rho) const
 Get the density of material i. More...
 
bool nameToIndex (const word &name, uint32 &idx) const
 Get the name of material in index idx Return true, if the name found, otherwise false. 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...
 

Private Member Functions

bool readDictionary ()
 read from dict More...
 
bool writeDictionary ()
 write to dict More...
 
bool makeNameIndex ()
 creates a mapp More...
 

Private Attributes

wordVector materials_
 list of name of materials More...
 
realVector densities_
 list of density of materials More...
 
wordHashMap< uint32nameIndex_
 rapid mapping from name to index More...
 
uint32 numMaterials_ = 0
 number of materials 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 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
 
- 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

property holds the pure properties of materials.

This class holds a list of all materials name and their densities that are used in the simulation: for walls and particles.

Definition at line 37 of file property.hpp.

Constructor & Destructor Documentation

◆ property() [1/5]

property ( const word fileName,
repository owner = nullptr 
)
explicit

Definition at line 122 of file property.cpp.

References pFlow::endl(), fatalErrorInFunction, and fatalExit.

+ Here is the call graph for this function:

◆ property() [2/5]

property ( const word fileName,
const fileSystem dir 
)

Definition at line 155 of file property.cpp.

References pFlow::endl(), fatalErrorInFunction, and fatalExit.

+ Here is the call graph for this function:

◆ property() [3/5]

property ( const word fileName,
const wordVector materials,
const realVector densities,
repository owner = nullptr 
)

Definition at line 86 of file property.cpp.

References fatalErrorInFunction, and fatalExit.

◆ property() [4/5]

property ( const property )
default

Default copy.

◆ property() [5/5]

property ( property &&  )
default

Default move.

◆ ~property()

~property ( )
overridedefault

Default destructor.

Member Function Documentation

◆ readDictionary()

bool readDictionary ( )
private

read from dict

Definition at line 24 of file property.cpp.

References property::densities_, pFlow::endl(), fatalErrorInFunction, dictionary::globalName(), property::materials_, and Vector< T, Allocator >::size().

+ Here is the call graph for this function:

◆ writeDictionary()

bool writeDictionary ( )
private

write to dict

Definition at line 43 of file property.cpp.

References pFlow::endl(), and fatalErrorInFunction.

+ Here is the call graph for this function:

◆ makeNameIndex()

bool makeNameIndex ( )
private

creates a mapp

Definition at line 63 of file property.cpp.

References fatalErrorInFunction.

◆ TypeInfo()

TypeInfo ( "property"  )

Type info.

◆ operator=() [1/2]

property& operator= ( const property )
default

Default copy assignment.

◆ operator=() [2/2]

property& operator= ( property &&  )
default

Default move assignment.

◆ numMaterials()

auto numMaterials ( ) const
inline

Return number of materials.

Definition at line 111 of file property.hpp.

References property::numMaterials_.

Referenced by shape::propIdValid().

+ Here is the caller graph for this function:

◆ materials()

const auto& materials ( ) const
inline

Return list of material names.

Definition at line 117 of file property.hpp.

References property::materials_.

Referenced by geometry::createPropertyId().

+ Here is the caller graph for this function:

◆ densities()

const auto& densities ( ) const
inline

Return the list of densities.

Definition at line 122 of file property.hpp.

References property::densities_.

◆ material() [1/2]

const word& material ( uint32  i) const
inline

Return the material name of material i.

Definition at line 127 of file property.hpp.

References property::materials_.

Referenced by property::material().

+ Here is the caller graph for this function:

◆ material() [2/2]

bool material ( uint32  i,
word name 
) const
inline

Get the name of material i.

Return true, if i is in the range and otherwise false

Definition at line 134 of file property.hpp.

References property::material(), iEntry::name(), and property::numMaterials_.

+ Here is the call graph for this function:

◆ density() [1/2]

real density ( uint32  i) const
inline

Return density of material i.

Definition at line 149 of file property.hpp.

References property::densities_.

Referenced by property::density(), and shape::indexToDensity().

+ Here is the caller graph for this function:

◆ density() [2/2]

bool density ( uint32  i,
real rho 
) const
inline

Get the density of material i.

Return true, if i is in the range and otherwise false

Definition at line 156 of file property.hpp.

References property::density(), and property::numMaterials_.

+ Here is the call graph for this function:

◆ nameToIndex()

bool nameToIndex ( const word name,
uint32 idx 
) const
inline

Get the name of material in index idx Return true, if the name found, otherwise false.

Definition at line 172 of file property.hpp.

References iEntry::name(), and property::nameIndex_.

Referenced by geometry::createPropertyId(), and shape::findPropertyIds().

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

Member Data Documentation

◆ materials_

wordVector materials_
private

list of name of materials

Definition at line 46 of file property.hpp.

Referenced by property::material(), property::materials(), and property::readDictionary().

◆ densities_

realVector densities_
private

list of density of materials

Definition at line 49 of file property.hpp.

Referenced by property::densities(), property::density(), and property::readDictionary().

◆ nameIndex_

wordHashMap<uint32> nameIndex_
private

rapid mapping from name to index

Definition at line 52 of file property.hpp.

Referenced by property::nameToIndex().

◆ numMaterials_

uint32 numMaterials_ = 0
private

number of materials

Definition at line 56 of file property.hpp.

Referenced by property::density(), property::material(), and property::numMaterials().


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