QNANO
Generate_Potential.h
1 #ifndef QNANO_NEW_GENERATE_POTENTIAL_DEFINED_H
2 #define QNANO_NEW_GENERATE_POTENTIAL_DEFINED_H
3 
4 #include "structure/Potential.h"
5 #include "structure/Atom_List.h"
6 
7 
10 public:
11  virtual void generate(const Atom_List &atlist) = 0;
12 
13  virtual void generate(const std::string &positionfile);
14 
15 };
16 
17 
18 
20 public:
21  double strength;
22 
23  void generate(size_t size_);
24  void generate(const Atom_List &atlist){ generate(atlist.size()); }
25  Constant_Potential(double strength_=0, size_t size_=0)
26  : strength(strength_) {
27  generate(size_);
28  }
29 };
30 
31 
33 public:
34  double strength;
35  Vec3d direction;
36  Vec3d center;
37 
38  void generate(const Atom_List &atlist);
39  Linear_Potential(double strength_, const Vec3d &direction_, const Vec3d &center_=Vec3d())
40  : strength(strength_), direction(direction_), center(center_){
41  }
42 };
43 #endif
44 
Class to store positions and to handle operations on 3d vectors.
Definition: Vec3d.h:9
Structure to store values for the potational on each atom of a given structure.
Definition: Potential.h:8
Definition: Atom_List.h:9
Definition: Generate_Potential.h:32
Definition: Generate_Potential.h:19
Potential generator: interface with "generate(positionfile)" function.
Definition: Generate_Potential.h:9