5 #include "funcs_base.hpp" 12 typedef STD_TR1::shared_ptr<point_Positions> point_Positions_ref;
36 function_Object::ref f;
37 function_Object::ref f_imag;
39 point_Positions_ref points;
41 const char* name()
const {
return "y_Potential";};
46 complex get_pot_(
int iy)
const;
76 vector_Object::ref shape;
81 const char* name()
const {
return "absorbing_lower_Potential";};
87 complex get_pot_(
int iy)
const;
107 vector_Object::ref v;
108 function_Object::ref f;
110 point_Positions_ref points;
114 const char* name()
const {
return "x_Potential";};
119 complex get_pot_(
int iy)
const;
146 vector_Object::ref v;
147 vector_Object::ref v_imag;
149 function_Object::ref f;
150 function_Object::ref f_imag;
156 int only_one_smooth_side;
158 bool global_geometry;
162 const char* name()
const {
return "xy_Potential";};
168 complex get_pot_(
int iy)
const;
183 const char* name()
const {
return "xy_function2d_Potential";};
185 function_complex2d_Object::ref f;
187 STD_TR1::shared_ptr<std::vector<complex> > values;
193 complex get_pot_(
int iy)
const;
205 STD_TR1::shared_ptr<std::vector<double> > positions_x;
206 STD_TR1::shared_ptr<std::vector<double> > positions_y;
207 STD_TR1::shared_ptr<std::vector<double> > depths;
208 STD_TR1::shared_ptr<std::vector<double> > widths;
210 STD_TR1::shared_ptr<std::vector<complex> > values;
212 STD_TR1::shared_ptr<function_complex_Object> dependence;
220 const char* name()
const {
return "Puddles";};
224 complex get_pot_(
int)
const;
226 complex get_puddle_pot(
double,
double,
int);
227 virtual void cut_xy(
double& x,
double& y);
243 double vector1_x,vector1_y,vector2_x,vector2_y;
244 double cvector1_x,cvector1_y,cvector2_x,cvector2_y;
245 double start_x, start_y;
249 const char* name()
const {
return "periodic_puddles";};
251 void cut_xy(
double& x,
double& y);
282 function_complex_Object::ref f_up;
283 function_complex_Object::ref f_down;
284 vector_Object::ref edge_up;
285 vector_Object::ref edge_down;
297 point_Positions_ref points;
299 const char* name()
const {
return "Edge_Roughness";};
303 complex get_pot_(
int)
const;
330 function_complex_Object::ref f_interior;
332 function_complex_Object::ref f_up;
333 function_complex_Object::ref f_down;
334 function_Object::ref edge_up;
335 function_Object::ref edge_down;
337 complex get_very_good_pot(
int iy)
const;
338 double get_up(
int, function_Object::ref, function_Object::ref,
int)
const;
346 double correct_dist_fac;
347 double estimate_side_dist_fac;
355 point_Positions_ref points;
357 const char* name()
const {
return "Edge_Roughness_smoth";};
359 complex effective_dist_down(
double D )
const;
360 complex effective_dist_up(
double D )
const;
364 complex get_pot_(
int)
const;
400 std::vector< int > disabled;
412 const char* name()
const {
return "Lattice_vacancies";};
416 complex get_pot_(
int)
const;
426 STD_TR1::shared_ptr<std::vector< int > > pos_x;
427 STD_TR1::shared_ptr<std::vector< int > > pos_y;
428 STD_TR1::shared_ptr<std::vector< double > > E_shift;
434 const char* name()
const {
return "Point_defects";};
438 complex get_pot_(
int)
const;
449 double linpot,vleft, vright;
451 const char* name()
const {
return "Linear";};
455 complex get_pot_(
int)
const;
464 double sinpot,vleft, vright;
466 const char* name()
const {
return "Sine";};
470 complex get_pot_(
int)
const;
492 const char* name()
const {
return "multiband_Potential"; };
495 complex get_pot_(
int iy)
const;
A periodic potential defined by two lattice vectors and a radially symmetrical base potential...
Definition: externalpotential.hpp:236
Name: multiband_Potential (class multiband_Potential) Distributes a sub-potential correctly on multil...
Definition: externalpotential.hpp:483
Definition: externalpotential.hpp:421
Definition: iterators.hpp:13
An abstract base class defining potentials, use with ExtPot_Hamiltonian.
Definition: abstract_potential.hpp:38
A linear potential changing form vleft to vright.
Definition: externalpotential.hpp:443
Introduce lattice vacancies at random positions.
Definition: externalpotential.hpp:394
Divide vertically in a lower and upper region, impose a (possibly) complex potential on either side...
Definition: externalpotential.hpp:71
Definition: externalpotential.hpp:458
A Potential defining randomly distributed finite-size puddles.
Definition: externalpotential.hpp:200
An XY-dependent potential using a function2d-object.
Definition: externalpotential.hpp:178
A Potential to define edges of different shapes.
Definition: externalpotential.hpp:277
Definition of abstract base class Potential.
An XY-dependent potential.
Definition: externalpotential.hpp:140
Definition: points.hpp:86
An y-dependent potential.
Definition: externalpotential.hpp:29
An x-dependent potential.
Definition: externalpotential.hpp:101
A Potential to define smooth edges of different shapes.
Definition: externalpotential.hpp:325