-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathmainwindow.h
171 lines (115 loc) · 3.87 KB
/
mainwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "functions.h"
#include "multirankSimulation.h"
#include "multirankQTensorLatticeModel.h"
#include "landauDeGennesLC.h"
#include "energyMinimizerFIRE.h"
#include "energyMinimizerNesterovAG.h"
#include "energyMinimizerLoLBFGS.h"
#include "energyMinimizerAdam.h"
#include "energyMinimizerGradientDescent.h"
#include "noiseSource.h"
#include "indexer.h"
#include "qTensorFunctions.h"
#include "latticeBoundaries.h"
#include "fileGenerator.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
void simulationInitialize();
void hideControls();
void showControls();
private slots:
//parameter setting
void on_initializeButton_released();
void on_setPhaseConstantsButton_released();
void on_setDistortionConstantsButton_released();
void on_setFiveConstants_released();
//simulation controls
void on_minimizeButton_released();
void on_resetQTensorsButton_released();
void on_fireParamButton_released();
void on_addIterationsButton_released();
void on_drawStuffButton_released();
void on_xRotSlider_valueChanged(int value);
void on_zRotSlider_valueChanged(int value);
void on_zoomSlider_valueChanged(int value);
void on_addSphereButton_released();
void on_finishedWithObjectsButton_released();
void on_actionReset_the_system_triggered();
void on_addWallButton_released();
void on_reprodicbleRNGBox_stateChanged(int arg1);
void on_builtinBoundaryVisualizationBox_released();
void on_importFileNowButton_released();
void on_saveFileNowButton_released();
void on_loadFileNowButton_released();
void on_boxLSize_textEdited(const QString &arg1);
void on_nesterovParamButton_released();
void on_scheduleMomentumCheckbox_released();
void on_cancelFieldButton_released();
void on_setFieldButton_released();
void on_fieldTypeComboBox_currentTextChanged(const QString &arg1);
void on_computeEnergyButton_released();
void moveObjectShow();
void colloidalTrajectoryShow();
void on_moveObjectButton_released();
void on_cancelObjectFieldButton_released();
void on_cancelTrajectoryButton_released();
void on_linearTrajectoryButton_released();
void on_dipoleSetFieldButton_released();
void on_phaseS0Box_textEdited(const QString &arg1);
void on_phaseBBox_textEdited(const QString &arg1);
void startCustomFile();
void saveCustomFile();
void on_xNormalSlider_valueChanged(int value);
void on_yNormalSlider_valueChanged(int value);
void on_zNormalSlider_valueChanged(int value);
void on_zNormalCheckBox_released();
void on_yNormalCheckBox_released();
void on_xNormalCheckBox_released();
void on_drawPlanesCheckBox_released();
void on_K1checkBox_released();
void on_K12checkBox_released();
void on_K123checkBox_released();
private:
Ui::MainWindow *ui;
public:
bool GPU = false;
bool reproducible = true;
int maximumIterations=0;
int iterationsPerColloidalEvolution = -1;
double colloidalEvolutionPrefactor = 0.0;
scalar BoxX = 20;
scalar BoxY = 20;
scalar BoxZ = 20;
double A=0;
double B=0;
double C=0;
double L1=0;
double L2=0;
double L3=0;
double L4=0;
double L6=0;
double S0=0.0;
int zoom = 1;
vector<scalar3> spherePositions;
vector<scalar> sphereRadii;
noiseSource noise;
shared_ptr<multirankQTensorLatticeModel> Configuration;
shared_ptr<multirankSimulation> sim;
shared_ptr<landauDeGennesLC> landauLCForce;
shared_ptr<energyMinimizerFIRE> fire;
shared_ptr<energyMinimizerNesterovAG> nesterov;
vector<QString> computationalNames;
fileGenerator customFile;
char lineBit[256];
};
#endif // MAINWINDOW_H