ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/applications/hydrodynamics/CompositeShape.cpp
(Generate patch)

Comparing trunk/src/applications/hydrodynamics/CompositeShape.cpp (file contents):
Revision 906 by tim, Fri Mar 17 23:20:35 2006 UTC vs.
Revision 1782 by gezelter, Wed Aug 22 02:28:28 2012 UTC

# Line 6 | Line 6
6   * redistribute this software in source and binary code form, provided
7   * that the following conditions are met:
8   *
9 < * 1. Acknowledgement of the program authors must be made in any
10 < *    publication of scientific results based in part on use of the
11 < *    program.  An acceptable form of acknowledgement is citation of
12 < *    the article in which the program was described (Matthew
13 < *    A. Meineke, Charles F. Vardeman II, Teng Lin, Christopher
14 < *    J. Fennell and J. Daniel Gezelter, "OOPSE: An Object-Oriented
15 < *    Parallel Simulation Engine for Molecular Dynamics,"
16 < *    J. Comput. Chem. 26, pp. 252-271 (2005))
17 < *
18 < * 2. Redistributions of source code must retain the above copyright
9 > * 1. Redistributions of source code must retain the above copyright
10   *    notice, this list of conditions and the following disclaimer.
11   *
12 < * 3. Redistributions in binary form must reproduce the above copyright
12 > * 2. Redistributions in binary form must reproduce the above copyright
13   *    notice, this list of conditions and the following disclaimer in the
14   *    documentation and/or other materials provided with the
15   *    distribution.
# Line 37 | Line 28
28   * arising out of the use of or inability to use software, even if the
29   * University of Notre Dame has been advised of the possibility of
30   * such damages.
31 + *
32 + * SUPPORT OPEN SCIENCE!  If you use OpenMD or its source code in your
33 + * research, please cite the appropriate papers when you publish your
34 + * work.  Good starting points are:
35 + *                                                                      
36 + * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37 + * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38 + * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
39 + * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40 + * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
42  
43   #include "applications/hydrodynamics/CompositeShape.hpp"
44   #include "utils/MemoryUtils.hpp"
45   #include "applications/hydrodynamics/HydrodynamicsModel.hpp"
46 < namespace oopse {
47 <
48 < CompositeShape::~CompositeShape() {
46 > namespace OpenMD {
47 >  
48 >  CompositeShape::~CompositeShape() {
49      MemoryUtils::deletePointers(shapes_);
50 < }
51 < bool CompositeShape::isInterior(Vector3d pos) {
50 >  }
51 >  bool CompositeShape::isInterior(Vector3d pos) {
52      bool result = false;
53      std::vector<Shape*>::iterator iter;
54      for (iter = shapes_.begin(); iter != shapes_.end(); ++ iter) {
55 <        if ((*iter)->isInterior(pos)) {
56 <            result = true;
57 <            break;
58 <        }
55 >      if ((*iter)->isInterior(pos)) {
56 >        result = true;
57 >        break;
58 >      }
59      }
60 <
60 >    
61      return result;
62 < }
63 <
64 < template<class Cont, class Predict>
65 < void swap_if(Cont& b1, Cont& b2, Predict predict) {
62 >  }
63 >  
64 >  template<class Cont, class Predict>
65 >  void swap_if(Cont& b1, Cont& b2, Predict predict) {
66      unsigned int size = b1.size();
67      assert(size == b2.size());
68      for (unsigned int i = 0 ; i < size; ++i) {
69 <        if (predict(b1[i], b2[i]))
70 <            std::swap(b1[i], b2[i]);
69 >      if (predict(b1[i], b2[i]))
70 >        std::swap(b1[i], b2[i]);
71      }
72 <
73 < }
74 <
75 < std::pair<Vector3d, Vector3d> CompositeShape::getBox() {
72 >    
73 >  }
74 >  
75 >  std::pair<Vector3d, Vector3d> CompositeShape::getBoundingBox() {
76      std::vector<Shape*>::iterator iter = shapes_.begin();
77 <    std::pair<Vector3d, Vector3d>  boundary = (*iter)->getBox();
77 >    std::pair<Vector3d, Vector3d>  boundary = (*iter)->getBoundingBox();
78      for (++iter; iter != shapes_.end(); ++iter) {
79 <        std::pair<Vector3d, Vector3d> currBoundary = (*iter)->getBox();
80 <            swap_if(boundary.first, currBoundary.first, std::less<double>());
81 <            swap_if(boundary.second, currBoundary.second, std::greater<double>());        
79 >      std::pair<Vector3d, Vector3d> currBoundary = (*iter)->getBoundingBox();
80 >      swap_if(boundary.first, currBoundary.first, std::greater<RealType>());
81 >      swap_if(boundary.second, currBoundary.second, std::less<RealType>());        
82      }
83 <
83 >    
84      return boundary;
85 +  }
86 +  
87 +  HydroProp* CompositeShape::getHydroProp(RealType viscosity, RealType temperature) {
88 +    HydroProp* props = new HydroProp();
89 +    props->setCOR(V3Zero);
90 +    sprintf( painCave.errMsg,
91 +             "CompositeShape was asked to return an analytic HydroProps.\n");
92 +    painCave.severity = OPENMD_ERROR;
93 +    painCave.isFatal = 1;
94 +    simError();          
95 +    return props;
96 +  }  
97   }
85
86 bool CompositeShape::calcHydroProps(HydrodynamicsModel* model, double viscosity, double temperature) {
87    return model->calcHydroProps(this, viscosity, temperature);
88 }
89
90 }

Comparing trunk/src/applications/hydrodynamics/CompositeShape.cpp (property svn:keywords):
Revision 906 by tim, Fri Mar 17 23:20:35 2006 UTC vs.
Revision 1782 by gezelter, Wed Aug 22 02:28:28 2012 UTC

# Line 0 | Line 1
1 + Author Id Revision Date

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines