|
IPCC
1.0
|
Iterface for Unitcell information. More...
#include "IGeometricUnitCellInfo.h"


Public Member Functions | |
| void | InitCoordination () |
| Initial Coordination information. More... | |
| virtual void | SetAtomCoordination ()=0 |
| Atom coordination setting. More... | |
| virtual void | SetNeighborCoordination ()=0 |
| Neighbor atom coordiantion setting. More... | |
| virtual void | SetUnitCellSize (double fUnitcellSize[3])=0 |
| Unitcell size setting. More... | |
| int | GetA2CNeighborCount () |
| Get neigbhor relation count. More... | |
| int | GetC2ANeighborCount () |
| Get neigbhor relation count. More... | |
| IGeometricUnitCellInfo () | |
| ~IGeometricUnitCellInfo () | |
| unsigned int | GetAnionCount () |
| unsigned int | GetCationCount () |
| Get anion count in Unitcell. More... | |
| double * | GetUnitcCellSize () |
| Get cation count in Unitcell. More... | |
| CGeometricCoordination | GetAtomCoordination (CGeometricAtom::ATOM_TYPE atomType, unsigned int nIndex) |
| Get Unitcell size x, y, z direction axis. More... | |
| CGeometricCoordination | GetNeighborCoordination (CGeometricAtom::NEIGHOR_RELATION neighborType, unsigned int nIndex) |
| Get neigbhor atom coordination from Unitcell. More... | |
| void | RotateNeighbor (CMatrixOperation::CDMatrix *pRotationMatrix) |
| Rotating neighbor coordination. More... | |
| void | RotateAxis (CMatrixOperation::CDMatrix *pRotationMatrix) |
| Rotating axis. More... | |
Protected Member Functions | |
| void | SetAtomCoordination (CGeometricAtom::ATOM_TYPE type, double x, double y, double z) |
| Set single atom coordination. More... | |
| void | SetNeighborCoordination (CGeometricAtom::NEIGHOR_RELATION type, double x, double y, double z) |
| Set single neighbor coordination. More... | |
Protected Attributes | |
| double | m_UnitCellSize [3] |
| Unitcell size x, y, z direction axis. More... | |
| double | m_NeigbhorOriginSize [3] |
| For neighbor distance calculation. More... | |
| std::vector< CGeometricAtom > | m_vectAtomList_1 |
| Atom list in Unitcell for anion. More... | |
| std::vector< CGeometricAtom > | m_vectAtomList_2 |
| Atom list in Unitcell for cation. More... | |
| std::vector < CGeometricCoordination > | m_vectNeighborRelation1To2 |
| Neighbor relation list in Unitcell for anion to cation. More... | |
| std::vector < CGeometricCoordination > | m_vectNeighborRelation2To1 |
| Neighbor relation list in Unitcell for cation to anion. More... | |
Iterface for Unitcell information.
Definition at line 17 of file IGeometricUnitCellInfo.h.
| IGeometricUnitCellInfo::IGeometricUnitCellInfo | ( | ) |
Definition at line 11 of file IGeometricUnitCellInfo.cpp.
References m_UnitCellSize, CGeometricAtom::X_DIRECTION, CGeometricAtom::Y_DIRECTION, and CGeometricAtom::Z_DIRECTION.
| IGeometricUnitCellInfo::~IGeometricUnitCellInfo | ( | ) |
Definition at line 18 of file IGeometricUnitCellInfo.cpp.
|
inline |
Get neigbhor relation count.
Definition at line 24 of file IGeometricUnitCellInfo.h.
References m_vectNeighborRelation1To2.
Referenced by CGeometricShape::SetAtomAndNeighborInformation().

|
inline |
Definition at line 42 of file IGeometricUnitCellInfo.h.
References m_vectAtomList_1.
Referenced by CGeometricShape::SetAtomAndNeighborInformation().

| CGeometricCoordination IGeometricUnitCellInfo::GetAtomCoordination | ( | CGeometricAtom::ATOM_TYPE | atomType, |
| unsigned int | nIndex | ||
| ) |
Get Unitcell size x, y, z direction axis.
Get atom coordination from Unitcell
| atomType | Atom type, anion or cation |
| nIndex | Atom Index |
Definition at line 27 of file IGeometricUnitCellInfo.cpp.
References CGeometricAtom::A, CGeometricAtom::C, m_vectAtomList_1, and m_vectAtomList_2.
Referenced by CGeometricShape::SetAtomAndNeighborInformation().

|
inline |
Get neigbhor relation count.
Definition at line 25 of file IGeometricUnitCellInfo.h.
References m_vectNeighborRelation2To1.
Referenced by CGeometricShape::SetAtomAndNeighborInformation().

|
inline |
Get anion count in Unitcell.
Definition at line 43 of file IGeometricUnitCellInfo.h.
References m_vectAtomList_2.
Referenced by CGeometricShape::SetAtomAndNeighborInformation().

| CGeometricCoordination IGeometricUnitCellInfo::GetNeighborCoordination | ( | CGeometricAtom::NEIGHOR_RELATION | neighborType, |
| unsigned int | nIndex | ||
| ) |
Get neigbhor atom coordination from Unitcell.
| neighborType | Neighbor Atom type, anion or cation |
| nIndex | Atom Index |
Definition at line 53 of file IGeometricUnitCellInfo.cpp.
References CGeometricAtom::A2C, CGeometricAtom::C2A, m_vectNeighborRelation1To2, and m_vectNeighborRelation2To1.
Referenced by CGeometricShape::SetAtomAndNeighborInformation().

|
inline |
Get cation count in Unitcell.
Definition at line 44 of file IGeometricUnitCellInfo.h.
References m_UnitCellSize.
Referenced by CGeometricShape::MapElecAtomOnPoissonGrid(), and CGeometricShape::SetAtomAndNeighborInformation().

| void IGeometricUnitCellInfo::InitCoordination | ( | ) |
Initial Coordination information.
Definition at line 178 of file IGeometricUnitCellInfo.cpp.
References m_vectAtomList_1, m_vectAtomList_2, m_vectNeighborRelation1To2, and m_vectNeighborRelation2To1.
Referenced by CGeometricShape::SetAtomAndNeighborInformation().

| void IGeometricUnitCellInfo::RotateAxis | ( | CMatrixOperation::CDMatrix * | pRotationMatrix | ) |
Rotating axis.
| pRotationMatrix | Rotation matrix |
Definition at line 124 of file IGeometricUnitCellInfo.cpp.
References CMatrixOperation::CVector::GetAt(), CComplex::GetRealNumber(), m_UnitCellSize, CMatrixOperation::MVMul(), CMatrixOperation::CVector::SetAt(), and CMatrixOperation::CVector::SetSize().

| void IGeometricUnitCellInfo::RotateNeighbor | ( | CMatrixOperation::CDMatrix * | pRotationMatrix | ) |
Rotating neighbor coordination.
| pRotationMatrix | Rotation matrix |
Definition at line 145 of file IGeometricUnitCellInfo.cpp.
References CMatrixOperation::CVector::GetAt(), CComplex::GetRealNumber(), m_vectNeighborRelation1To2, m_vectNeighborRelation2To1, CMatrixOperation::MVMul(), CMatrixOperation::CVector::SetAt(), and CMatrixOperation::CVector::SetSize().
Referenced by CGeometricShape::SetAtomAndNeighborInformation().


|
pure virtual |
Atom coordination setting.
Implemented in CGeometricUnitCellInfo_cubic, and CGeometricUnitCellInfo_zincblende.
Referenced by CGeometricShape::SetAtomAndNeighborInformation(), CGeometricUnitCellInfo_zincblende::SetAtomCoordination(), and CGeometricUnitCellInfo_cubic::SetAtomCoordination().

|
protected |
Set single atom coordination.
| type | Atom type |
| x | x coordination |
| y | y coordination |
| z | z coordination |
Definition at line 80 of file IGeometricUnitCellInfo.cpp.
References CGeometricAtom::A, ATOM_NUM_BASE, CGeometricAtom::C, m_vectAtomList_1, m_vectAtomList_2, CGeometricAtom::SetCoordination(), and CGeometricAtom::SetType().

|
pure virtual |
Neighbor atom coordiantion setting.
Implemented in CGeometricUnitCellInfo_cubic, and CGeometricUnitCellInfo_zincblende.
Referenced by CGeometricShape::SetAtomAndNeighborInformation(), CGeometricUnitCellInfo_zincblende::SetNeighborCoordination(), and CGeometricUnitCellInfo_cubic::SetNeighborCoordination().

|
protected |
Set single neighbor coordination.
| type | Neighbor relationship type |
| x | x axis distance |
| y | y axis distance |
| z | z axis distance |
Definition at line 104 of file IGeometricUnitCellInfo.cpp.
References CGeometricAtom::A2C, CGeometricAtom::C2A, m_vectNeighborRelation1To2, m_vectNeighborRelation2To1, and CGeometricCoordination::SetCoordination().

|
pure virtual |
Unitcell size setting.
Implemented in CGeometricUnitCellInfo_cubic, and CGeometricUnitCellInfo_zincblende.
Referenced by CGeometricShape::SetAtomAndNeighborInformation().

|
protected |
For neighbor distance calculation.
Definition at line 32 of file IGeometricUnitCellInfo.h.
Referenced by CGeometricUnitCellInfo_zincblende::SetNeighborCoordination(), and CGeometricUnitCellInfo_zincblende::SetUnitCellSize().
|
protected |
Unitcell size x, y, z direction axis.
Definition at line 31 of file IGeometricUnitCellInfo.h.
Referenced by GetUnitcCellSize(), IGeometricUnitCellInfo(), RotateAxis(), CGeometricUnitCellInfo_zincblende::SetAtomCoordination(), CGeometricUnitCellInfo_cubic::SetAtomCoordination(), CGeometricUnitCellInfo_cubic::SetNeighborCoordination(), CGeometricUnitCellInfo_zincblende::SetUnitCellSize(), and CGeometricUnitCellInfo_cubic::SetUnitCellSize().
|
protected |
Atom list in Unitcell for anion.
Definition at line 33 of file IGeometricUnitCellInfo.h.
Referenced by GetAnionCount(), GetAtomCoordination(), InitCoordination(), and SetAtomCoordination().
|
protected |
Atom list in Unitcell for cation.
Definition at line 34 of file IGeometricUnitCellInfo.h.
Referenced by GetAtomCoordination(), GetCationCount(), InitCoordination(), and SetAtomCoordination().
|
protected |
Neighbor relation list in Unitcell for anion to cation.
Definition at line 35 of file IGeometricUnitCellInfo.h.
Referenced by GetA2CNeighborCount(), GetNeighborCoordination(), InitCoordination(), RotateNeighbor(), and SetNeighborCoordination().
|
protected |
Neighbor relation list in Unitcell for cation to anion.
Definition at line 36 of file IGeometricUnitCellInfo.h.
Referenced by GetC2ANeighborCount(), GetNeighborCoordination(), InitCoordination(), RotateNeighbor(), and SetNeighborCoordination().