This class decribe a crystal structure.
More...
#include <SM_CrystalStructure.h>
This class decribe a crystal structure.
The class contains the attibutes data :
- mName : the name of the structure in {'bcc','hcc','grid1d','grid2d','grid3d','cgrid1d','cgrid2d','cgrid3d'}
- mCoordinationNumber : the maximum number of neighboring particles per particle
- mAtomsNumber : the number of atoms per unit cell
- mAtomVolumeWeight : the volume of 1 atom
- mUnitVolume : the volume of unit cell
- mUnitCellSize : the size of unit cell per direction
The crystal structures are implemented in crystal structures package of Stoch Magnet module
- Author
- Stephane Despreaux
- Version
- 3.0
◆ copy()
copy the structure
- Parameters
-
| [in] | s | : the structure to copy |
◆ getAtomsNumber()
| const tUCInt& SM_CrystalStructure::getAtomsNumber |
( |
| ) |
const |
|
inline |
get the atoms number
- Returns
- the number of atoms per unit cell
◆ getContentsMemorySize()
| virtual tMemSize SM_CrystalStructure::getContentsMemorySize |
( |
| ) |
const |
|
inlinevirtual |
◆ getCoordinationNumber()
| const tUCInt& SM_CrystalStructure::getCoordinationNumber |
( |
| ) |
const |
|
inline |
get the coodination number
- Returns
- the number of neighboring particles
◆ getMemorySize()
| virtual tMemSize SM_CrystalStructure::getMemorySize |
( |
| ) |
const |
|
inlinevirtual |
return the memory size of the class and the memory size of all its attributes/associations
- Returns
- the memory size of the class and the memory size of its attributes/associations in bytes The mamory size is :
- the added size of the base classes which contains:
- the primary attributes size depends on the order: (first delare the smallest attributes size
- all virtual functions costs <pointer-size> (4 32xor 8 64x) bytes by virtual function
- virtual inherihtance will increase of (4 or 8) bytes
- we add the size of the contains values of the attributes : for example the size of a string is the length of the string 1 octet = 1 byte 1 Ko = 1024 bytes 1 Mo = 1024 Ko 1 Go = 1024 Mo
Reimplemented from SM_Object.
Reimplemented in SM_FCCStructure, SM_BCCStructure, and SM_BCC2Structure.
◆ getUnitCellSize()
| const std::array<tReal,SM_Constants::DIM>& SM_CrystalStructure::getUnitCellSize |
( |
| ) |
const |
|
inline |
get unit cell size
- Returns
- the unit cell size
◆ getUnitVolume()
| const tReal& SM_CrystalStructure::getUnitVolume |
( |
| ) |
const |
|
inline |
get unit volume
- Returns
- the unit volume
◆ newInstance()
◆ setAtomsNumber()
| void SM_CrystalStructure::setAtomsNumber |
( |
const tUCInt & |
n | ) |
|
|
inlineprotected |
set the atoms number per unit cell
- Parameters
-
| [in] | n | : number of atoms per unit cell |
◆ setAtomVolumeWeight()
| void SM_CrystalStructure::setAtomVolumeWeight |
( |
const tReal & |
weight | ) |
|
|
inline |
set atom volume weight in angstrom
- Parameters
-
| [in] | weight | : weight of the atome by volume unit the atome volume is atomeVolumeWeight * unitCellVolume |
◆ setCoordinationNumber()
| void SM_CrystalStructure::setCoordinationNumber |
( |
const tUCInt & |
n | ) |
|
|
inlineprotected |
set the coordination number
- Parameters
-
| [in] | n | : number of neighboring particles |
◆ setUnitCellSize() [1/4]
| void SM_CrystalStructure::setUnitCellSize |
( |
const std::array< tReal, SM_Constants::DIM > & |
as | ) |
|
|
inline |
set unit cell size
- Parameters
-
| [in] | as | : size in Agstrom per direction |
◆ setUnitCellSize() [2/4]
| void SM_CrystalStructure::setUnitCellSize |
( |
const std::vector< tReal > & |
as | ) |
|
|
inline |
set unit cell size
- Parameters
-
| [in] | as | : size in Agstrom per direction |
◆ setUnitCellSize() [3/4]
| void SM_CrystalStructure::setUnitCellSize |
( |
const tReal & |
a | ) |
|
|
inline |
set unit cell size
- Parameters
-
| [in] | a | : size in Agstrom for all direction |
◆ setUnitCellSize() [4/4]
| void SM_CrystalStructure::setUnitCellSize |
( |
std::initializer_list< tReal > && |
as | ) |
|
|
inline |
set unit cell size
- Parameters
-
| [in] | as | : size in Agstrom per direction |
◆ toString()
| virtual tString SM_CrystalStructure::toString |
( |
| ) |
const |
|
inlineoverridevirtual |
turn the class into a string representation
- Returns
- a string representation of the class
Reimplemented from CORE_Object.
The documentation for this class was generated from the following file: