1 #ifndef FUNC_CPP_HEADER_INPU 2 #define FUNC_CPP_HEADER_INPU 4 #include "funcs_base.hpp" 16 real_func->initialize(real_func);
20 const char* name()
const {
return "real2complex_wrapper";};
24 complex value(
const double)
const;
26 function_Object::ref real_func;
36 const char* name()
const {
return "real2complex_2d_wrapper";};
40 complex value(
const double,
const double)
const;
42 function2d_Object::ref real_func;
49 STD_TR1::shared_ptr<cexpression> expr;
50 STD_TR1::shared_ptr<cexpression> expr_2;
52 const char* name()
const {
return "parsed_complex_function";};
56 complex value(
const double)
const;
70 std::list< function2d_Object::ref > > funcs;
73 function2d_Object::ref fxy;
74 function2d_Object::ref yp;
75 function2d_Object::ref xp;
77 const char* name()
const {
return "translated2d_function";};
81 double value(
const double,
const double)
const;
98 STD_TR1::shared_ptr<ncexpression> expr;
99 STD_TR1::shared_ptr<ncexpression> expr_2;
101 const char* name()
const {
return "parsed_complex2d_function";};
105 complex value(
const double,
const double)
const;
121 const char* name()
const {
return "gaussian2d_function";};
125 double value(
const double,
const double)
const;
140 const char* name()
const {
return "pointload2d_function";};
144 double value(
const double,
const double)
const;
153 STD_TR1::shared_ptr<expression> expr;
159 const char* name()
const {
return "radial2d_function";};
163 double value(
const double,
const double)
const;
176 const char* name()
const {
return "sine2d_function";};
180 double value(
const double,
const double)
const;
188 const char* name()
const {
return "periodic2d_function";};
190 function2d_Object::ref f;
192 double vector1_x,vector1_y;
193 double vector2_x,vector2_y;
198 double value(
const double,
const double)
const;
220 const char* name()
const {
return "modify_vector";};
222 size_t determine_size();
224 void lazy_init()
const;
245 const char* name()
const {
return "combine_vectors";};
247 size_t determine_size();
274 const char* name()
const {
return "random_vector";};
302 const char* name()
const {
return "random_smooth_vector";};
327 size_t nx, ny, data_ny;
329 vector_Object::ref data;
331 const char* name()
const {
return "expand_2d_vector";};
333 size_t determine_size();
335 void lazy_init()
const;
368 double dx, dy, correlation, amp, dis;
369 int nx, ny, periodic_y,periodic_x;
371 function_Object::ref rand_dist_func;
373 const char* name()
const {
return "random_smooth2d_vector";};
375 size_t determine_size();
377 void lazy_init()
const;
395 const char* name()
const {
return "input_vector";};
412 const char* name()
const {
return "parsed_vector";};
430 vector_Object::ref data;
435 const char* name()
const {
return "vector_step_function"; };
439 double value(
const double)
const;
460 vector_Object::ref data;
461 double ddx, ddy, Wx, Wy;
465 const char* name()
const {
return "vector_step_function2d"; };
469 double value(
const double,
const double)
const;
490 vector_Object::ref data;
491 vector_Object::ref data_imag;
492 double ddx, ddy, Wx, Wy;
495 const char* name()
const {
return "complex_vector_step_function2d"; };
499 complex value(
const double,
const double)
const;
519 const char* name()
const {
return "totally_random_vector";};
542 int nx,ny,gap1,gap2,wall,y_leftlead;
543 const char* name()
const {
return "Double_QPC";};
545 size_t determine_size();
547 void lazy_init()
const;
554 int nx,ny,gap1,wall,y_leftlead;
555 const char* name()
const {
return "Single_QPC";};
557 size_t determine_size();
559 void lazy_init()
const;
566 int nx,ny,gap1,wall,y_leftlead;
567 const char* name()
const {
return "Single_QPC_long";};
569 size_t determine_size();
571 void lazy_init()
const;
578 int nx,ny,gap1,wall,y_leftlead;
579 const char* name()
const {
return "Single_horizontal_QPC";};
581 size_t determine_size();
583 void lazy_init()
const;
591 int nx,ny, do_rect, phi;
592 std::vector< double > xpositions;
593 std::vector< double > ypositions;
594 std::vector< double > radii;
595 std::vector< double > width;
596 std::vector< double > height;
597 std::vector< double > potentials;
600 const char* name()
const {
return "simple_obst";};
602 size_t determine_size();
604 void lazy_init()
const;
618 double circle_pot,background_pot;
619 double filling_factor;
620 int number_of_circles;
622 const char* name()
const {
return "random_obstacles";};
623 size_t determine_size();
625 void lazy_init()
const;
652 const char* name()
const {
return "const_vector";};
653 size_t determine_size();
655 void lazy_init()
const;
666 vector_Object::ref data;
668 std::string filename;
669 const char* name()
const {
return "interpolate_vector";};
670 size_t determine_size();
672 void lazy_init()
const;
681 double dx,dy,epsilon,delta,k;
683 const char * name()
const {
return "sine_boundary";}
684 size_t determine_size();
686 void lazy_init()
const;
Definition: funcs_base.hpp:80
Definition: funcs.hpp:675
Step Function, generated from vector data.
Definition: funcs.hpp:485
Definition: funcs.hpp:151
Definition: funcs_base.hpp:107
Base class for a 1D Vector.
Definition: funcs_base.hpp:143
Definition: funcs.hpp:183
Function (Step Function = old, as of 2019 bilinear interpolation), generated from vector data...
Definition: funcs.hpp:455
Name: Double_QPC (class double_QPC_on_cyl_vector) Creates a double QPC in y-direction with gap sizes ...
Definition: funcs.hpp:538
Definition: funcs.hpp:132
Definition: funcs_base.hpp:10
Definition: funcs.hpp:113
Definition: math_parser.hpp:16
Step Function, generated from vector data.
Definition: funcs.hpp:425
Fill a vector with random numbers so that the numbers lie smoothly together.
Definition: funcs.hpp:297
Definition: funcs.hpp:167
Change a vector according to a mathematical formula.
Definition: funcs.hpp:216
Parsed complex 2D function, use x, y, and I.
Definition: funcs.hpp:94
Definition: funcs.hpp:574
Definition: math_parser.hpp:105
Definition: funcs.hpp:586
Fill a 2d matrix with random numbers so that the numbers form a smooth 2d surface.
Definition: funcs.hpp:363
Definition: funcs.hpp:607
Definition: funcs_base.hpp:43
Definition: funcs.hpp:562
expand an existing 2d vector (sort of zooming in), by a factor two
Definition: funcs.hpp:322
Definition: funcs.hpp:659
Definition: math_parser.hpp:53
Combine two vectors according to a mathematical formula.
Definition: funcs.hpp:241
totally_random_vector is a vector of completely random numbers Parameters: {itemize} {N: size of vect...
Definition: funcs.hpp:512
Definition: funcs.hpp:550
Fill a vector with random numbers.
Definition: funcs.hpp:269
A 2d function object, taking another 2d function, and translating the positions, yielding f(xp(x...
Definition: funcs.hpp:65
Vector with constant value c for all elements inside a rectangle, except at the boundary.
Definition: funcs.hpp:642
Vector using a parsable string expression to set its values.
Definition: funcs.hpp:408