|
C++ mpi module for stochmagnet_main Package
|
This class generate a grid of bcc structures. More...
#include <SM_BCCStructuresBuilder.h>


Public Member Functions | |
| virtual tMemSize | getMemorySize () const |
| return the memory size of the class and the memory size of all its attributes/associations More... | |
| virtual tMemSize | getContentsMemorySize () const |
| return the memory size of the included associations More... | |
| virtual void | computeParticlesWeight (const std::array< tInteger, SM_Constants::DIM > &Ns, const std::array< tReal, SM_Constants::DIM > &Hs, const std::array< tBoolean, SM_Constants::DIM > &isPeriodic, const std::valarray< tMask > &mask, std::valarray< tReal > &vs) const |
| ocmpute the particles weight More... | |
| virtual void | getNetworkSliceMaxSizeOffset (const SM_CrystalStructure &cStructure, const std::array< tInteger, SM_Constants::DIM > &Ns, const std::array< tBoolean, SM_Constants::DIM > &periodicity, std::valarray< tIndex > &sliceParticlesNumberOffset) const override |
| get the max size of the network More... | |
| virtual void | buildNetworkSliceSet (const tInteger &slicesNumber, const tInteger &sliceIndex, const std::array< tReal, SM_Constants::DIM > &X0, const std::array< tInteger, SM_Constants::DIM > &Ns, const std::array< tReal, SM_Constants::DIM > &Hs, const std::array< tBoolean, SM_Constants::DIM > &periodicity, const std::valarray< tMask > &mask, tIndex &nParticles, tIndex *particles, tReal *X, tIndex *neighborsNumberPerParticle, tIndex &nNeighboringParticles, tIndex *neighboringParticlesList) const override |
| build a network based on a decomposed in slice sets More... | |
| virtual tIndex | getNetworkGridMaxSize (const SM_CrystalStructure &cStructure, const std::array< tInteger, SM_Constants::DIM > &Ns, const std::array< tBoolean, SM_Constants::DIM > &isPeriodic, const std::array< tInteger, SM_Constants::DIM > &gridSize, const std::array< tInteger, SM_Constants::DIM > &gridIndex) const override |
| get the max size of the network More... | |
| virtual void | buildNetworkGridSet (const std::array< tInteger, SM_Constants::DIM > &gridsNumber, const std::array< tInteger, SM_Constants::DIM > &gridIndex, const std::array< tReal, SM_Constants::DIM > &X0, const std::array< tInteger, SM_Constants::DIM > &Ns, const std::array< tReal, SM_Constants::DIM > &Hs, const std::array< tBoolean, SM_Constants::DIM > &periodicity, const std::valarray< tMask > &mask, tIndex &nParticles, tIndex *particles, tReal *X, tIndex *neighborsNumberPerParticle, tIndex &nNeighboringParticles, tIndex *neighboringParticlesList) const override |
| build a network based on a nD paver grid decomposed in grid sets More... | |
Public Member Functions inherited from SM_Object | |
| SM_Object (void) | |
| create | |
| virtual | ~SM_Object (void) |
| destroy | |
Public Member Functions inherited from CORE_Object | |
| template<class T > | |
| std::shared_ptr< T > | getSharedPointer () |
| return the shared pointer for this More... | |
| template<class T > | |
| std::shared_ptr< const T > | getConstSharedPointer () const |
| return a const shared pointer for this More... | |
| template<class T > | |
| tBoolean | isInstanceOf () const |
| test if the clas T is an instance of this class More... | |
| tString | getClassName () const |
| return the name of the class More... | |
| tString | getPointerString () const |
| retrun the pointer of the class as a string More... | |
| tString | getIdentityString () const |
| retrun the string identification of the class More... | |
| virtual tString | toString () const |
| return the string representation of the object node More... | |
Static Public Member Functions | |
| static CORE_UniquePointer< SM_BCCStructuresBuilder > | New () |
| build a new instance of a BCC structure More... | |
| static void | CenterCellConnections (const std::array< tInteger, SM_Constants::DIM > &I, const std::array< tInteger, SM_Constants::DIM > &nCs, const std::array< tBoolean, SM_Constants::DIM > &isPeriodic, const tBoolean &incMask, const tMask *vMask, const std::array< tUCInt, SM_Constants::DIM > &nDisplacements, std::array< tUCInt, SM_Constants::DIM > &displacement, std::array< tInteger, SM_Constants::DIM > &connectedCellIndices, std::map< tIndex, tBoolean > &neighboringParticlesOrderedList) |
| build the connections of the summit vertex at index I to the center of the connecetd cels to the vertex More... | |
| static void | SummitConnections (const std::array< tInteger, SM_Constants::DIM > &I, const std::array< tInteger, SM_Constants::DIM > &nPs, const std::array< tBoolean, SM_Constants::DIM > &isPeriodic, const std::array< tUCInt, SM_Constants::DIM > &nDisplacements, std::array< tUCInt, SM_Constants::DIM > &displacement, std::array< tInteger, SM_Constants::DIM > &connectedPointIndices, const tIndex &index0, std::map< tIndex, tBoolean > &neighboringParticlesOrderedList) |
| build the connections of the center of the cell at index I with all the summit of the cell I More... | |
Static Public Member Functions inherited from SM_CrystalStructuresBuilder | |
| static void | RegisterParticle (const tIndex &indexParticle, const std::array< tReal, SM_Constants::DIM > &P, const std::map< tIndex, tIndex > &neighboringParticlesOrderedList, tIndex &nParticles, tIndex *&iParticles, tReal *&iX, tIndex *&iNeighborsNumberPerParticle, tIndex &nNeighboringParticles, tIndex *&iNeighboringParticlesList) |
| register particles in network list data More... | |
Static Public Member Functions inherited from CORE_Object | |
| static tBoolean | EnableMemoryStack (const tBoolean &isMemoryChecked) |
| enable the memory stack More... | |
| static void | EnableMemoryStack () |
| enable the memory stack | |
| static void | DisableMemoryStack () |
| disable the memory stack | |
| static tBoolean | IsMemoryStackEnabled () |
| return trur if the memory stack is enabled | |
| static tString | MemoryStackToString () |
| get the memory stack in string More... | |
| static tIndex | GetRegisteredClassesNumber () |
| get the memory stack in string More... | |
Protected Member Functions | |
| SM_BCCStructuresBuilder (void) | |
| create an instance class | |
| virtual | ~SM_BCCStructuresBuilder (void) |
| destroy the instance of the class | |
Protected Member Functions inherited from SM_CrystalStructuresBuilder | |
| SM_CrystalStructuresBuilder (void) | |
| create an instance class | |
| virtual | ~SM_CrystalStructuresBuilder (void) |
| destroy the instance of the class | |
Protected Member Functions inherited from CORE_Object | |
| CORE_Object () | |
| build an instance of the object | |
| virtual | ~CORE_Object () |
| destroy the instance of object std | |
This class generate a grid of bcc structures.
|
overridevirtual |
build a network based on a nD paver grid decomposed in grid sets
| [in] | gridsNumber | : number of grid sets per coordinate |
| [in] | gridIndex | : index of the grid set to build in [0,gridsNumber[ per coordinate |
| [in] | X0 | : min point of the paver grid |
| [in] | Ns | : number of cells per direction of th paver grid |
| [in] | Hs | : cell size per direction in angstrom |
| [in] | periodicity | : periodicity of the paver per dierction |
| [in] | mask | : indicates if the cel lis in geometry (0: to be out of the geometry) |
| [out] | nParticles | number of particles of the set |
| [out] | particles | : index of particles of the pack of size >= nParticles |
| [out] | X | : SM_Constants::DIM coordinates of the particles of the pack of size >= nParticles x SM_Constants::DIM |
| [out] | neighborsNumberPerParticle | : number of neighboring particles of the particles |
| [out] | nNeighboringParticles | : number of neghboring particles |
| [out] | neighboringParticlesList | : list of neighboring particles of size >= nNeighboringParticles |
Implements SM_CrystalStructuresBuilder.
|
overridevirtual |
build a network based on a decomposed in slice sets
| [in] | slicesNumber | : number of slice sets |
| [in] | sliceIndex | : index of the slice set to build in [0,slicesNumber[ |
| [in] | X0 | : min point of the paver grid |
| [in] | Ns | : number of cells per direction of th paver grid |
| [in] | Hs | : cell size per direction in angstrom |
| [in] | periodicity | : periodicity of the paver per dierction |
| [in] | mask | : indicates if the cel lis in geometry (0: to be out of the geometry) |
| [out] | nParticles | number of particles of the set |
| [out] | particles | : index of particles of the pack of size >= nParticles |
| [out] | X | : SM_Constants::DIM coordinates of the particles of the pack of size >= nParticles x SM_Constants::DIM |
| [out] | neighborsNumberPerParticle | : number of neighboring particles of the particles |
| [out] | nNeighboringParticles | : number of neghboring particles |
| [out] | neighboringParticlesList | : list of neighboring particles of size >= nNeighboringParticles |
Implements SM_CrystalStructuresBuilder.
|
static |
build the connections of the summit vertex at index I to the center of the connecetd cels to the vertex
| [in] | I | indices of cell per direction |
| [in] | nCs | number of cells of the domain per direction |
| [in] | isPeriodic | periodicity of the whole domain per direction |
| [in] | incMask | masc increment (1: for no constant mask) |
| [in] | vMask | mask values |
| [in] | nDisplacements | number of displacements per direction for find the vertex indices form cell indices |
| [out] | displacement | : work array for displacement to find one summit of the cell |
| [out] | connectedCellIndices | work array to store the indices of the connected cell |
| [in,out] | neighboringParticlesOrderedList | : ordered list of neighbor added |
|
virtual |
ocmpute the particles weight
| [in] | Ns | number of cells per direction of the network grid |
| [in] | Hs | size of a cell of the grid |
| [in] | isPeriodic | : periodicity of the paver per direction |
| [in] | mask | : indicates if the cell is in geometry (0: to be out of the geometry) |
| [out] | vs | : particles weight |
|
inlinevirtual |
return the memory size of the included associations
Reimplemented from SM_CrystalStructuresBuilder.
|
inlinevirtual |
return the memory size of the class and the memory size of all its attributes/associations
Reimplemented from SM_CrystalStructuresBuilder.
|
overridevirtual |
get the max size of the network
| [in] | cStructure | crystal structure |
| [in] | Ns | number of cells of the paver grid per direction |
| [in] | isPeriodic | : periodicity of the paver per direction |
| [in] | gridSize | : number of grids to build the network |
| [in] | gridIndex | : index of the grid |
Implements SM_CrystalStructuresBuilder.
|
overridevirtual |
get the max size of the network
| [in] | cStructure | crystal structure |
| [in] | Ns | numbe rof cells of the paver grid per direction |
| [in] | periodicity | : periodicity of the paver per direction |
| [out] | sliceParticlesNumberOffset | index of first particle within a global list sliceParticlesNumberOffset[i+1]-sliceParticlesNumberOffset[i+1] is the maw number of particles of the slice |
Implements SM_CrystalStructuresBuilder.
|
inlinestatic |
build a new instance of a BCC structure
|
static |
build the connections of the center of the cell at index I with all the summit of the cell I
| [in] | I | indices of cell per direction |
| [in] | nPs | number of points of the domain per direction |
| [in] | isPeriodic | periodicity of the whole domain per direction |
| [in] | nDisplacements | number of displacements per direction for find the vertex indices form cell indices |
| [out] | displacement | : work array for displacement to find one summit of the cell |
| [out] | connectedPointIndices | work array to store the indices of the connected point |
| [in] | index0 | first index of the particle at summit of cells |
| [in,out] | neighboringParticlesOrderedList | : ordered list of neighbor added |