1 //=============================================================================
5 //=============================================================================
11 //== INCLUDES =================================================================
13 #include <QtGui/QDialog>
19 #include "dimdialog.h"
23 //== CLASS DEFINITION =========================================================
26 class Calculator
: public QDialog
33 explicit Calculator(QuPlot
*parent
= 0);
34 virtual ~Calculator();
36 void calc2 (const Int n
);
41 void write_to_file(const QString
& file
,
42 const QMap
<double, double> & map_x
,
43 const QMap
<double,double> & map_y
,
44 const QMap
<double,double> & map_phi
,
48 void set_color(const Doub vel
, QString
& color
);
49 void derivs(const Doub x
, VecDoub_I
&y
, VecDoub_O
&dydt
,
51 void derivw(const Doub x
, VecDoub_I
&y
, VecDoub_O
&dW
,
52 const Doub params
[], Normaldev
&gauss
);
53 void rk4(VecDoub_I
&y
, VecDoub_I
&dydx
, const Doub x
, const Doub h
, VecDoub_O
&yout
,
55 void euler(VecDoub_I
&y
, VecDoub_I
&dydx
, VecDoub_I
&dW
, const Doub x
,
56 const Doub h
, VecDoub_O
&yout
);
57 void IC_setup(VecDoub
&y
, Doub x0
, Doub y0
, Doub xdot0
, Doub ydot0
, Doub phi0
,
59 void diffusion(VecDoub_I
& msd
, const Int
& samples
, Doub
& sigma
);
60 float gaussian_noise();
61 void gen_gnuplot(const QString
& name
);
62 void filter(QMap
<double, double> & map
, const Doub
& eps
);
63 void bifparam(const int &v
, const QString
& param
, const Doub
&r
, Doub params
[]);
66 QMultiMap
<double, double> rkValues_x
, rkValues_y
,
67 rkValues_xdot
, rkValues_ydot
,
68 rkAvgvelo_x
, rkAvgvelo_y
, rkAvgvelo_phi
,
69 rkValues_xtemp
, rkValues_ytemp
, rkValues_phitemp
,
70 rkValues_p1x
, rkValues_p2x
,
71 rkValues_p1y
, rkValues_p2y
,
72 rkValues_phi
, rkValues_phidot
,
73 rkVariance_x
, rkVariance_y
, rkVariance_phi
,
74 rkDist_x
, rkDist_y
, rkDist_phi
,
77 QMultiMap
<double, double> euValues_x
, euValues_y
,
78 euValues_xdot
, euValues_ydot
,
79 euAvgvelo_x
, euAvgvelo_y
, euAvgvelo_phi
,
80 euValues_xtemp
, euValues_ytemp
, euValues_phitemp
,
81 euValues_p1x
, euValues_p2x
,
82 euValues_p1y
, euValues_p2y
,
83 euValues_phi
, euValues_phidot
,
84 euVariance_x
, euVariance_y
, euVariance_phi
,
85 euDist_x
, euDist_y
, euDist_phi
,
88 QMultiMap
<double, double> NullMap
; // dummy var for use with write_to_file()
90 QString file_rk_bif
, file_rk_avg
, file_rk_out
, file_rk_pt1
, file_rk_pt2
,
91 file_rk_biv
, file_rk_conv
, file_rk_variance
, file_rk_distance
,
92 file_rk_defangle
, file_rk_dualbif
;
93 QString file_eu_bif
, file_eu_avg
, file_eu_out
, file_eu_pt1
, file_eu_pt2
,
94 file_eu_biv
, file_eu_conv
, file_eu_variance
, file_eu_distance
,
95 file_eu_defangle
, file_eu_dualbif
;
104 //=============================================================================
105 #endif // CALCULATOR_H defined
106 //=============================================================================