QNANO
Parabolic_Potential.h
1 #ifndef QNANO_NEW_PARABOLIC_POTENTIAL_DEFINED_H
2 #define QNANO_NEW_PARABOLIC_POTENTIAL_DEFINED_H
3 
4 #include "structure/Generate_Potential.h"
5 #include "tools/Parameter_Map.h"
6 
8 public:
9  double strength;
10  Vec3d direction;
11  Vec3d center;
12  double truncate_radius;
13 
14 
15  virtual void generate(const Atom_List &atlist);
16 
17  void setup(Parameter_Map& param_map);
18 
19 
20  Parabolic_Potential(double strength_, const Vec3d &direction_, const Vec3d &center_=Vec3d(), double truncate_radius_=-1.)
21  : strength(strength_), direction(direction_), center(center_), truncate_radius(truncate_radius_) {
22 
23  }
24 
25 };
26 
27 
29 public:
30  double strength;
31  Vec3d direction;
32  Vec3d center;
33  double truncate_radius;
34  bool set_truncate_offset_zero;
35 
36  virtual void setup(Parameter_Map &param_map);
37  virtual void generate(const Atom_List &atlist);
38 
39  Parabolic_Potential_2d(double strength_, const Vec3d &direction_, \
40  const Vec3d &center_=Vec3d(), double truncate_radius_=-1., \
41  bool set_truncate_offset_zero_=false)
42  : strength(strength_), direction(direction_), \
43  center(center_), truncate_radius(truncate_radius_), \
44  set_truncate_offset_zero(set_truncate_offset_zero_) {
45 
46  }
48  setup(param_map);
49  }
50 
51 };
52 
53 
54 #endif
55 
Definition: Parameter_Map.h:12
Class to store positions and to handle operations on 3d vectors.
Definition: Vec3d.h:9
Definition: Atom_List.h:9
Definition: Parabolic_Potential.h:28
Potential generator: interface with "generate(positionfile)" function.
Definition: Generate_Potential.h:9
Definition: Parabolic_Potential.h:7