|
IPCC
1.0
|
Factory class for create CKNGeometricAtom instance. More...
#include "KNGeometricAtomFactory.h"

Public Member Functions | |
| CKNGeometricAtomFactory () | |
| ~CKNGeometricAtomFactory () | |
Static Public Member Functions | |
| static void | SetAtomCoordination (CKNGeometricAtom::ATOM_TYPE type, double x, double y, double z) |
| Setting atom coordination. More... | |
| static void | SetNeighborCoordination (CKNGeometricAtom::NEIGHOR_RELATION type, double x, double y, double z) |
| Setting neighbor coordination. More... | |
| static void | SetRatio (double fRatio[3]) |
| Set ratio that applying to length, atom coordination and neighbor position. More... | |
| static void | SetUnitCellSize (double fSize[3]) |
| Set unitcell size. More... | |
| static void | FreeFactoryData () |
| Release all setting data. More... | |
| static int | GetAtomCountInUnitcell () |
| static MATERIAL_INDEX | GetMaterialNumber (char *pszMaterialName, CKNGeometricAtom::ATOM_TYPE type) |
| Get total atom counts in unit cell. More... | |
| static MATERIAL_INDEX | GetMaterialNumber (char *pszMaterialName) |
| Get Atom number that mean material of atom number. More... | |
| static void | InitAtomList () |
| static void | InitNeighborList () |
| static unsigned int | GetNeighborCount () |
Static Private Attributes | |
| static std::vector < CKNGeometricAtom > | m_vectAtomList_1 |
| Get total Neighbor count in unit cell. More... | |
| static std::vector < CKNGeometricAtom > | m_vectAtomList_2 |
| Atom array for cation. More... | |
| static std::vector < CKNGeometricCoordination > | m_vectNeighborRelation1To2 |
| Neighbor relationship from anion to cation. More... | |
| static std::vector < CKNGeometricCoordination > | m_vectNeighborRelation2To1 |
| Neighbor relationship from cation to anion. More... | |
Friends | |
| class | CKNGeometricUnitCell |
Factory class for create CKNGeometricAtom instance.
Definition at line 19 of file KNGeometricAtomFactory.h.
| CKNGeometricAtomFactory::CKNGeometricAtomFactory | ( | ) |
Definition at line 18 of file KNGeometricAtomFactory.cpp.
| CKNGeometricAtomFactory::~CKNGeometricAtomFactory | ( | ) |
Definition at line 23 of file KNGeometricAtomFactory.cpp.
|
static |
Release all setting data.
Definition at line 106 of file KNGeometricAtomFactory.cpp.
References m_vectAtomList_1, m_vectAtomList_2, m_vectNeighborRelation1To2, and m_vectNeighborRelation2To1.
|
inlinestatic |
Definition at line 30 of file KNGeometricAtomFactory.h.
References m_vectAtomList_1, and m_vectAtomList_2.
Referenced by CKNGeometricUnitCell::AddPeridoicDirection(), CKNGeometricUnitCell::Deserialize(), CKNGeometricShape::Deserialize(), CKNGeometricShape::ExchangeAtomInfoBetweenNode(), CKNGeometricShape::Serialize(), CKNGeometricUnitCell::SetPeriodic(), and CKNGeometricUnitCell::SetPeriodicDirection().

|
static |
Get total atom counts in unit cell.
Get Atom number that mean material of atom number
| pszMaterialName | Material name |
| type | Atom type |
Definition at line 119 of file KNGeometricAtomFactory.cpp.
References CKNGeometricAtom::A, As, ATOM_NUM_BASE, CKNGeometricAtom::C, Ga, In, and Si.
Referenced by CKNGeometricUnitCell::ArrangeAtom(), CKNGeometricUnitCell::NumberingSubElement(), and CKNGeometricUnitCell::SetSubDomainMaterial().

|
static |
Get Atom number that mean material of atom number.
| pszMaterialName | Material name |
Definition at line 159 of file KNGeometricAtomFactory.cpp.
References ATOM_NUM_BASE, GaAs, InAs, and Si.
|
inlinestatic |
Definition at line 35 of file KNGeometricAtomFactory.h.
|
static |
Definition at line 177 of file KNGeometricAtomFactory.cpp.
References m_vectAtomList_1, and m_vectAtomList_2.
Referenced by CKNGeometricShape::SetAtomAndNeighborInformation().

|
static |
Definition at line 183 of file KNGeometricAtomFactory.cpp.
References m_vectNeighborRelation1To2, and m_vectNeighborRelation2To1.
Referenced by CKNGeometricShape::SetAtomAndNeighborInformation().

|
static |
Setting atom coordination.
| type | Atom type |
| x | x coordination |
| y | y coordination |
| z | z coordination |
Definition at line 33 of file KNGeometricAtomFactory.cpp.
References CKNGeometricAtom::A, ATOM_NUM_BASE, CKNGeometricAtom::C, m_vectAtomList_1, m_vectAtomList_2, CKNGeometricAtom::SetCoordination(), and CKNGeometricAtom::SetType().
Referenced by CKNGeometricShape::SetAtomAndNeighborInformation(), and CKNGeometricConstructionLaunch::SetUnitCellInformation().


|
static |
Setting neighbor coordination.
| type | Neighbor relationship type |
| x | x axis distance |
| y | y axis distance |
| z | z axis distance |
Definition at line 57 of file KNGeometricAtomFactory.cpp.
References CKNGeometricAtom::A2C, CKNGeometricAtom::C2A, m_vectNeighborRelation1To2, m_vectNeighborRelation2To1, and CKNGeometricCoordination::SetCoordination().
Referenced by CKNGeometricShape::SetAtomAndNeighborInformation(), and CKNGeometricConstructionLaunch::SetUnitCellInformation().


|
static |
Set ratio that applying to length, atom coordination and neighbor position.
| fRatio | Ration for x, y, z direction |
Definition at line 77 of file KNGeometricAtomFactory.cpp.
References m_vectAtomList_1, m_vectAtomList_2, m_vectNeighborRelation1To2, and m_vectNeighborRelation2To1.
Referenced by SetUnitCellSize().

|
static |
Set unitcell size.
| fSize | size for x, y, z direction |
Definition at line 101 of file KNGeometricAtomFactory.cpp.
References SetRatio().

|
friend |
Definition at line 44 of file KNGeometricAtomFactory.h.
|
staticprivate |
Get total Neighbor count in unit cell.
Atom array for anion
Definition at line 35 of file KNGeometricAtomFactory.h.
Referenced by CKNGeometricUnitCell::ArrangeAtom(), FreeFactoryData(), GetAtomCountInUnitcell(), InitAtomList(), SetAtomCoordination(), and SetRatio().
|
staticprivate |
Atom array for cation.
Definition at line 39 of file KNGeometricAtomFactory.h.
Referenced by CKNGeometricUnitCell::ArrangeAtom(), FreeFactoryData(), GetAtomCountInUnitcell(), InitAtomList(), SetAtomCoordination(), and SetRatio().
|
staticprivate |
Neighbor relationship from anion to cation.
Definition at line 41 of file KNGeometricAtomFactory.h.
Referenced by CKNGeometricUnitCell::BuildNeighborInformation(), FreeFactoryData(), InitNeighborList(), SetNeighborCoordination(), and SetRatio().
|
staticprivate |
Neighbor relationship from cation to anion.
Definition at line 42 of file KNGeometricAtomFactory.h.
Referenced by CKNGeometricUnitCell::BuildNeighborInformation(), FreeFactoryData(), InitNeighborList(), SetNeighborCoordination(), and SetRatio().