Skip to content

Commit fa92b4a

Browse files
committed
Introduced enums for polydisperse distribution types and reference wavelengths; Changed qwtSlider to QSlider
1 parent e6bad6a commit fa92b4a

15 files changed

Lines changed: 940 additions & 527 deletions

src/app/app.pro

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
## app project file
33
##################################################
44

5+
#Build tests
6+
#QMAKE_POST_LINK += "&& cd ../test && $(MAKE) && ./$$TARGET"
7+
58
QT += core gui widgets printsupport
69

710
greaterThan(QT_MAJOR_VERSION, 5): QT += widgets
811

9-
QMAKE_POST_LINK += "&& cd ../test && $(MAKE) && ./$$TARGET"
10-
1112
TARGET = MieSimulatorGUI_v2_0
1213
CONFIG -= -qt-freetype
1314
TEMPLATE = app

src/app/calc/calculate.cpp

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ void calculate::DoSimulation(QLabel *progress, parameters *para)
4848
{
4949
wavel = para->wavelArray[w]/1000; //in microns
5050
progress->setText("<font color=\"red\">WL: <font>"+QString::number(1000*wavel)+"nm</font>");
51-
util.Delay();
52-
k = 2 * M_PI * para->medRef /wavel;
51+
util.Delay();
5352
sumMus = 0.0;
5453
sumMusG = 0.0;
5554
sumForward = 0.0;
@@ -67,11 +66,12 @@ void calculate::DoSimulation(QLabel *progress, parameters *para)
6766
}
6867
for (unsigned int r = 0; r < para->nRadius; r++)
6968
{
69+
k = 2 * M_PI * para->medRefArray[r] /wavel;
7070
xPara = k * para->radArray[r];
7171
piRadiusSquared = M_PI * para->radArray[r] * para->radArray[r];
7272

73-
refRelRe = para->scatRefRealArray[r] / para->medRef;
74-
refRelIm = para->scatRefImagArray[r] / para->medRef;
73+
refRelRe = para->scatRefRealArray[r] / para->medRefArray[r];
74+
refRelIm = para->scatRefImagArray[r] / para->medRefArray[r];
7575

7676
if (refRelIm == 0.0) //FarFieldSolutionForRealRefIndex is ~2x faster than FarFieldSolutionForComplexRefIndex
7777
{
@@ -174,18 +174,20 @@ void calculate::ComputeMuspAtRefWavel(parameters *para)
174174
for (unsigned int i = 0; i< 6; i++)
175175
{
176176
double lambda = 0.5 + 0.1*i; // in um
177-
//Calculate mus and g at reference wavelength for musp fitting plot
178-
k = 2 * M_PI * para->medRef /lambda; //k at reference wavelength
177+
179178

180179
sumMus = 0.0;
181180
sumMusG = 0.0;
182181
for (unsigned int r = 0; r < para->nRadius; r++)
183182
{
183+
//Calculate mus and g at reference wavelength for musp fitting plot
184+
k = 2 * M_PI * para->medRefArray[r] /lambda; //k at reference wavelength
185+
184186
xPara = k * para->radArray[r];
185187
piRadiusSquared = M_PI * para->radArray[r] * para->radArray[r];
186188

187-
refRelRe = para->scatRefRealArray[r] / para->medRef;
188-
refRelIm = para->scatRefImagArray[r] / para->medRef;
189+
refRelRe = para->scatRefRealArray[r] / para->medRefArray[r];
190+
refRelIm = para->scatRefImagArray[r] / para->medRefArray[r];
189191

190192
if (refRelIm == 0.0) //FarFieldSolutionForRealRefIndex is ~2x faster than FarFieldSolutionForComplexRefIndex
191193
{
@@ -364,6 +366,7 @@ void calculate::SetSphereRadiusAndRefIndex(parameters *para, unsigned int index,
364366
para->numDensityArray[0] = para->sphNumDensity;
365367
para->scatRefRealArray[0] = para->scatRefReal;
366368
para->scatRefImagArray[0] = para->scatRefImag;
369+
para->medRefArray[0] = para->medRef;
367370
}
368371
else //Poly Disperse
369372
{
@@ -410,6 +413,7 @@ void calculate::SetSphereRadiusAndRefIndex(parameters *para, unsigned int index,
410413
para->numDensityArray[i] = std::round(funcArray[i]*factor);
411414
para->scatRefRealArray[i] = para->scatRefReal;
412415
para->scatRefImagArray[i] = para->scatRefImag;
416+
para->medRefArray[i] = para->medRef;
413417
}
414418
delete []funcArray;
415419
}

src/app/dialog/displaydialog.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,15 @@ void DisplayDialog::DisplayData(QRadioButton *radioButton_MonoDisperse,
5555
if (radioButton_PolyDisperse->isChecked())
5656
{
5757
int currentIndex = comboBox_Distribution->currentIndex();
58-
if (currentIndex == 0) //Log normal distribution
58+
if (currentIndex == para->LogNormal) //Log normal distribution
5959
ui->textBrowser_Display->append("Distribution: Poly Disperse - Log Normal");
60-
if (currentIndex == 1) //Gaussian distribution
60+
if (currentIndex == para->Gaussian) //Gaussian distribution
6161
ui->textBrowser_Display->append("Distribution: Poly Disperse - Gaussian");
62-
if (currentIndex == 2) //Custom distribution
62+
if (currentIndex == para->Custom) //Custom distribution
6363
ui->textBrowser_Display->append("Distribution: Poly Disperse - Custom");
6464
ui->textBrowser_Display->append("Number of discrete sphere sizes: "
65-
+ QString::number(para->nRadius));
66-
if (currentIndex != 2)
65+
+ QString::number(para->nRadius));
66+
if (currentIndex != para->Custom)
6767
{
6868
ui->textBrowser_Display->append("Mean diameter of spheres: "
6969
+ QString::number(2.0*para->meanRadius) + " um");
@@ -76,16 +76,18 @@ void DisplayDialog::DisplayData(QRadioButton *radioButton_MonoDisperse,
7676
+ QString::number(para->volFraction * margin));
7777
}
7878
}
79-
ui->textBrowser_Display->append("Wavelength Range: " + QString::number(para->startWavel) + "nm to "
80-
+ QString::number(para->endWavel) + "nm in "+ QString::number(para->stepWavel) + "nm steps\n");
81-
ui->textBrowser_Display->append("Refractive index of the medium: " + QString::number(para->medRef) );
79+
ui->textBrowser_Display->append("Wavelength Range: " + QString::number(para->startWavel) + "nm to "
80+
+ QString::number(para->endWavel) + "nm in "+ QString::number(para->stepWavel) + "nm steps\n");
8281

8382
ui->textBrowser_Display->append("\nSphere Data:");
84-
ui->textBrowser_Display->append("Dia.(um)\tNum. Den.(in a vol. of 1mm^3)\tRef. Index (real | imag)");
83+
ui->textBrowser_Display->append("Dia.(um)\tNum. Den.(in a vol. of 1mm^3)\tRef."
84+
" index of sphere (real | imag)\t Ref. index of medium");
8585
for (unsigned int i = 0; i<para->nRadius; i++)
8686
ui->textBrowser_Display->append(QString::number(2.0 * para->radArray[i]) + "\t"
8787
+ QString::number(para->numDensityArray[i] * margin) + "\t"
88-
+ QString::number(para->scatRefRealArray[i]) + "\t" + QString::number(para->scatRefImagArray[i]) );
88+
+ QString::number(para->scatRefRealArray[i]) + "\t"
89+
+ QString::number(para->scatRefImagArray[i]) + "\t"
90+
+ QString::number(para->medRefArray[i]));
8991

9092
ui->textBrowser_Display->append("\n\nOutput:");
9193
if (radioButton_MonoDisperse->isChecked())

0 commit comments

Comments
 (0)