# | Line 42 | Line 42 | |
---|---|---|
42 | * | |
43 | * Created by Charles F. Vardeman II on 17 Feb 2006. | |
44 | * @author Charles F. Vardeman II | |
45 | < | * @version $Id: shapedLattice.cpp,v 1.1 2006-03-17 16:10:19 chuckv Exp $ |
45 | > | * @version $Id: shapedLattice.cpp,v 1.4 2006-05-17 21:51:42 tim Exp $ |
46 | * | |
47 | */ | |
48 | ||
# | Line 53 | Line 53 | namespace oopse{ | |
53 | #include "lattice/LatticeFactory.hpp" | |
54 | ||
55 | namespace oopse{ | |
56 | < | shapedLattice::shapedLattice(double latticeConstant, |
56 | > | shapedLattice::shapedLattice(RealType latticeConstant, |
57 | std::string latticeType) { | |
58 | latticeConstant_ = latticeConstant; | |
59 | latticeType_ = latticeType; | |
# | Line 65 | Line 65 | namespace oopse{ | |
65 | } | |
66 | ||
67 | //Set the lattice constant | |
68 | < | std::vector<double> lc; |
68 | > | std::vector<RealType> lc; |
69 | lc.push_back(latticeConstant_); | |
70 | simpleLattice_->setLatticeConstant(lc); | |
71 | – | origin_[0]=0.0; |
72 | – | origin_[1]=0.0; |
73 | – | origin_[2]=0.0; |
71 | } | |
72 | ||
73 | ||
# | Line 78 | Line 75 | namespace oopse{ | |
75 | void shapedLattice::setGridDimension(Vector3d dimension){ | |
76 | dimension_ = dimension; | |
77 | // Find number of unit cells in each direction | |
78 | < | beginNx_ = -(int) ceil(dimension_[0]/latticeConstant_) ; |
79 | < | beginNy_ = -(int) ceil(dimension_[1]/latticeConstant_) ; |
80 | < | beginNz_ = -(int) ceil(dimension_[2]/latticeConstant_) ; |
81 | < | endNx_ = (int) ceil(dimension_[0]/latticeConstant_); |
82 | < | endNy_ = (int) ceil(dimension_[1]/latticeConstant_); |
83 | < | endNz_ = (int) ceil(dimension_[2]/latticeConstant_); |
87 | < | |
78 | > | beginNx_ = -(int) ceil(0.5*dimension_[0]/latticeConstant_) ; |
79 | > | beginNy_ = -(int) ceil(0.5*dimension_[1]/latticeConstant_) ; |
80 | > | beginNz_ = -(int) ceil(0.5*dimension_[2]/latticeConstant_) ; |
81 | > | endNx_ = (int) ceil(0.5*dimension_[0]/latticeConstant_); |
82 | > | endNy_ = (int) ceil(0.5*dimension_[1]/latticeConstant_); |
83 | > | endNz_ = (int) ceil(0.5*dimension_[2]/latticeConstant_); |
84 | } | |
85 | ||
86 | ||
87 | ||
88 | < | void shapedLattice::setGridDimension(Vector3d dimension, Vector3d origin){ |
93 | < | dimension_ = dimension; |
94 | < | origin_ = origin; |
95 | < | // Find number of unit cells in each direction |
96 | < | beginNx_ = -(int) ceil(dimension_[0]/latticeConstant_) + (int) floor(origin[0]); |
97 | < | beginNy_ = -(int) ceil(dimension_[1]/latticeConstant_) + (int) floor(origin[1]); |
98 | < | beginNz_ = -(int) ceil(dimension_[2]/latticeConstant_) + (int) floor(origin[2]); |
99 | < | endNx_ = (int) ceil(dimension_[0]/latticeConstant_) + (int) floor(origin[0]); |
100 | < | endNy_ = (int) ceil(dimension_[1]/latticeConstant_) + (int) floor(origin[1]); |
101 | < | endNz_ = (int) ceil(dimension_[2]/latticeConstant_) + (int) floor(origin[2]); |
102 | < | |
103 | < | } |
104 | < | |
105 | < | std::vector<Vector3d> shapedLattice::getPoints(){ |
88 | > | std::vector<Vector3d> shapedLattice::getPoints(){ |
89 | std::vector<Vector3d> latticePos; | |
90 | ||
91 | + | |
92 | + | std::vector<Vector3d> pointsOrt = simpleLattice_->getLatticePointsOrt(); |
93 | int numMolPerCell = simpleLattice_->getNumSitesPerCell(); | |
94 | for(int i = beginNx_; i < endNx_; i++) { | |
95 | for(int j = beginNy_; j < endNy_; j++) { | |
# | Line 114 | Line 99 | namespace oopse{ | |
99 | ||
100 | for(int l = 0; l < numMolPerCell; l++) { | |
101 | ||
102 | + | |
103 | if (isInterior(latticePos[l])){ | |
104 | < | coords_.push_back(latticePos[l]); |
104 | > | Vector3d myPoint = latticePos[l]; |
105 | > | Vector3d myOrt = pointsOrt[l]; |
106 | > | coords_.push_back(myPoint); |
107 | > | coordsOrt_.push_back(myOrt); |
108 | } | |
109 | } | |
110 | } |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |