QSS Solver GUI  4.5.3
runform.hpp
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  This file is part of QSS Solver.
4 
5  QSS Solver is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  QSS Solver is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with QSS Solver. If not, see <http://www.gnu.org/licenses/>.
17 
18  ******************************************************************************/
19 
20 #pragma once
21 
22 #include <QtGui>
23 #include "./ui/ui_run.h"
24 
25 #include "utils.hpp"
26 
27 class RunDlg : public QDialog, public Ui::RunForm {
28  Q_OBJECT
29  public:
30  RunDlg(QWidget* parent = nullptr);
31  ~RunDlg() = default;
32  inline QString absTolerance() { return _absTolerance->text(); };
33  inline QString derDelta() { return _derDelta->text(); };
34  inline QString DT() { return _dt->text(); };
35  inline QString description() { return _description->toPlainText(); };
36  inline QString minStep() { return _minStep->text(); };
37  inline QString output() { return _output->text(); };
38  inline QString outputType() { return getOutputTypeString(_commInterval->currentIndex()); };
39  inline QString period() { return _period->text(); };
40  inline QString scheduler() { return getSchedulerString(_scheduler->currentIndex()); };
41  inline QString solver() { return getSolverString(_solver->currentIndex()); };
42  inline QString startTime() { return _startTime->text(); };
43  inline QString stopTime() { return _stopTime->text(); };
44  inline QString symDiff() { return getComboBoolString(_symDiff->currentIndex()); };
45  inline QString jacobian() { return getJacobianString(_jacobian->currentIndex()); };
46  inline QString tolerance() { return _tolerance->text(); };
47  inline QString zcHyst() { return _zcHyst->text(); };
48  inline void setAbsTolerance(QString str) { _absTolerance->setText(str.remove("{").remove("}")); };
49  inline void setDerDelta(QString str) { _derDelta->setText(str); };
50  inline void setDescription(QString str) { _description->setText(str); };
51  inline void setMinStep(QString str) { _minStep->setText(str); };
52  inline void setDT(QString str) { _dt->setText(str); };
53  inline void setOutput(QString str) { _output->setText(str.remove("{").remove("}")); };
54  inline void setOutputType(QString str) { _commInterval->setCurrentIndex(getOutputTypeIdx(str)); };
55  inline void setPeriod(QString str) { _period->setText(str); };
56  inline void setScheduler(QString str) { _scheduler->setCurrentIndex(getSchedulerIdx(str)); };
57  inline void setSolver(QString str) { _solver->setCurrentIndex(getSolverIdx(str)); };
58  inline void setStartTime(QString str) { _startTime->setText(str); };
59  inline void setStopTime(QString str) { _stopTime->setText(str); };
60  inline void setSymDiff(QString str) { _symDiff->setCurrentIndex(getComboBoolIdx(str)); };
61  inline void setTolerance(QString str) { _tolerance->setText(str.remove("{").remove("}")); };
62  inline void setZcHyst(QString str) { _zcHyst->setText(str); };
63  inline QString LPS() { return QString::number(_lps->value()); };
64  inline void setLPS(QString lps) { _lps->setValue(lps.toInt()); };
65  inline void setJacobian(QString str) { _jacobian->setCurrentIndex(str == "Sparse" ? 0 : 1); };
66  inline QString parallel() { return getComboBoolString(_parallel->currentIndex()); };
67  inline QString partitionMethod() { return getPartitionMethodString(_partitionMethod->currentIndex()); };
68  inline void setParallel(QString str) { _parallel->setCurrentIndex(getComboBoolIdx(str)); };
69  inline void setPartitionMethod(QString str) { _partitionMethod->setCurrentIndex(getPartitionMethodIdx(str)); };
70  inline QString dtSynch() { return getDtSynchString(_dtSynch->currentIndex()); };
71  inline void setDtSynch(QString str) { _dtSynch->setCurrentIndex(getDtSynchIdx(str)); };
72  inline bool enableDebug() { return _debugChk->checkState() == Qt::Checked; };
73  inline QString patohSettings() { return _patohSettings->text(); };
74  inline void setPatohSettings(QString str) { _patohSettings->setText(str.remove("{").remove("}")); };
75  inline QString scotchSettings() { return _scotchSettings->text(); };
76  inline void setScotchSettings(QString str) { _scotchSettings->setText(str.remove("{").remove("}")); };
77  inline QString metisSettings() { return _metisSettings->text(); };
78  inline void setMetisSettings(QString str) { _metisSettings->setText(str.remove("{").remove("}")); };
79  inline bool semiStaticPartitioning() { return _semiStaticChk->checkState() == Qt::Checked; };
80  inline void setSemiStaticPartitioning(bool st) { _semiStaticChk->setChecked(st); };
81  inline QString generateArch() { return getComboBoolString(_generateArchCbx->currentIndex()); };
82  inline void setGenerateArch(QString str) { _generateArchCbx->setCurrentIndex(getComboBoolIdx(str)); };
83  inline QString reorderPartition() { return getComboBoolString(_reorderPartitionCbx->currentIndex()); };
84  inline void setReorderPartition(QString str) { _reorderPartitionCbx->setCurrentIndex(getComboBoolIdx(str)); };
85  inline QString debugGraph() { return getComboBoolString(_debugGraphCbx->currentIndex()); };
86  inline void setDebugGraph(QString str) { _debugGraphCbx->setCurrentIndex(getComboBoolIdx(str)); };
87  inline QString imbalance() { return _imbalance->text(); };
88  inline void setImbalance(QString str) { _imbalance->setText(str); };
89  inline QString BDFPart() { return _BDFPart->text(); };
90  inline void setBDFPart(QString str) { _BDFPart->setText(str.remove("{").remove("}")); };
91  inline QString BDFPartitionDepth() { return QString::number(_BDFPartitionDepth->value()); };
92  inline void setBDFPartitionDepth(QString d) { _BDFPartitionDepth->setValue(d.toInt()); };
93  inline QString BDFMaxStep() { return _BDFMaxStep->text(); };
94  inline void setBDFMaxStep(QString d) { _BDFMaxStep->setText(d); };
95 
96  private slots:
99  void on__showAll_stateChanged(int state);
101  void updateTestMethods(int state);
102 
103  private:
104  int getOutputTypeIdx(QString str);
105  QString getOutputTypeString(int idx);
106  int getSchedulerIdx(QString str);
107  QString getSchedulerString(int idx);
108  int getSolverIdx(QString str);
109  QString getSolverString(int idx);
110  QString getJacobianString(int idx);
111  int getComboBoolIdx(QString str);
112  QString getComboBoolString(int idx);
113  int getPartitionMethodIdx(QString str);
114  QString getPartitionMethodString(int idx);
115  int getDtSynchIdx(QString str);
116  int getJacobianIdx(QString str);
117  QString getDtSynchString(int idx);
118  Utils* _utils;
119  QDoubleValidator* _validate;
120 };
RunDlg::on__dtSynch_currentIndexChanged
void on__dtSynch_currentIndexChanged(int index)
Definition: runform.cpp:73
RunDlg::symDiff
QString symDiff()
Definition: runform.hpp:61
RunDlg::absTolerance
QString absTolerance()
Definition: runform.hpp:49
RunDlg::solver
QString solver()
Definition: runform.hpp:58
RunDlg::setMetisSettings
void setMetisSettings(QString str)
Definition: runform.hpp:95
RunDlg::setGenerateArch
void setGenerateArch(QString str)
Definition: runform.hpp:99
RunDlg::DT
QString DT()
Definition: runform.hpp:51
RunDlg::partitionMethod
QString partitionMethod()
Definition: runform.hpp:84
RunDlg::setLPS
void setLPS(QString lps)
Definition: runform.hpp:81
RunDlg::getPartitionMethodIdx
int getPartitionMethodIdx(QString str)
Definition: runform.cpp:246
RunDlg::reorderPartition
QString reorderPartition()
Definition: runform.hpp:100
utils.hpp
RunDlg::getSolverString
QString getSolverString(int idx)
Definition: runform.cpp:134
RunDlg::setSolver
void setSolver(QString str)
Definition: runform.hpp:74
RunDlg::setOutputType
void setOutputType(QString str)
Definition: runform.hpp:71
RunDlg::BDFMaxStep
QString BDFMaxStep()
Definition: runform.hpp:110
RunDlg::_utils
Utils * _utils
Definition: runform.hpp:135
RunDlg::startTime
QString startTime()
Definition: runform.hpp:59
RunDlg::parallel
QString parallel()
Definition: runform.hpp:83
RunDlg::BDFPartitionDepth
QString BDFPartitionDepth()
Definition: runform.hpp:108
RunDlg::BDFPart
QString BDFPart()
Definition: runform.hpp:106
RunDlg::getDtSynchString
QString getDtSynchString(int idx)
Definition: runform.cpp:290
RunDlg::enableDebug
bool enableDebug()
Definition: runform.hpp:89
RunDlg::setJacobian
void setJacobian(QString str)
Definition: runform.hpp:82
RunDlg::zcHyst
QString zcHyst()
Definition: runform.hpp:64
RunDlg::setMinStep
void setMinStep(QString str)
Definition: runform.hpp:68
RunDlg::setImbalance
void setImbalance(QString str)
Definition: runform.hpp:105
RunDlg::setStartTime
void setStartTime(QString str)
Definition: runform.hpp:75
Utils
Definition: utils.hpp:60
RunDlg::scotchSettings
QString scotchSettings()
Definition: runform.hpp:92
RunDlg::setZcHyst
void setZcHyst(QString str)
Definition: runform.hpp:79
RunDlg::patohSettings
QString patohSettings()
Definition: runform.hpp:90
RunDlg::on__parallel_currentIndexChanged
void on__parallel_currentIndexChanged(int index)
Definition: runform.cpp:82
RunDlg
Definition: runform.hpp:27
RunDlg::jacobian
QString jacobian()
Definition: runform.hpp:62
RunDlg::getComboBoolIdx
int getComboBoolIdx(QString str)
Definition: runform.cpp:228
RunDlg::output
QString output()
Definition: runform.hpp:54
RunDlg::stopTime
QString stopTime()
Definition: runform.hpp:60
RunDlg::setParallel
void setParallel(QString str)
Definition: runform.hpp:85
RunDlg::getOutputTypeIdx
int getOutputTypeIdx(QString str)
Definition: runform.cpp:186
RunDlg::setDescription
void setDescription(QString str)
Definition: runform.hpp:67
RunDlg::setDerDelta
void setDerDelta(QString str)
Definition: runform.hpp:66
RunDlg::dtSynch
QString dtSynch()
Definition: runform.hpp:87
RunDlg::setBDFPart
void setBDFPart(QString str)
Definition: runform.hpp:107
RunDlg::getJacobianIdx
int getJacobianIdx(QString str)
Definition: runform.cpp:276
RunDlg::~RunDlg
~RunDlg()=default
RunDlg::debugGraph
QString debugGraph()
Definition: runform.hpp:102
RunDlg::imbalance
QString imbalance()
Definition: runform.hpp:104
RunDlg::minStep
QString minStep()
Definition: runform.hpp:53
RunDlg::derDelta
QString derDelta()
Definition: runform.hpp:50
RunDlg::setSemiStaticPartitioning
void setSemiStaticPartitioning(bool st)
Definition: runform.hpp:97
RunDlg::RunDlg
RunDlg(QWidget *parent=nullptr)
Definition: runform.cpp:27
RunDlg::setAbsTolerance
void setAbsTolerance(QString str)
Definition: runform.hpp:65
RunDlg::getPartitionMethodString
QString getPartitionMethodString(int idx)
Definition: runform.cpp:257
RunDlg::description
QString description()
Definition: runform.hpp:52
RunDlg::getSchedulerIdx
int getSchedulerIdx(QString str)
Definition: runform.cpp:207
RunDlg::setOutput
void setOutput(QString str)
Definition: runform.hpp:70
RunDlg::getDtSynchIdx
int getDtSynchIdx(QString str)
Definition: runform.cpp:283
RunDlg::tolerance
QString tolerance()
Definition: runform.hpp:63
RunDlg::setPartitionMethod
void setPartitionMethod(QString str)
Definition: runform.hpp:86
RunDlg::setScotchSettings
void setScotchSettings(QString str)
Definition: runform.hpp:93
RunDlg::semiStaticPartitioning
bool semiStaticPartitioning()
Definition: runform.hpp:96
RunDlg::updateTestMethods
void updateTestMethods(int state)
Definition: runform.cpp:301
RunDlg::setDT
void setDT(QString str)
Definition: runform.hpp:69
RunDlg::outputType
QString outputType()
Definition: runform.hpp:55
RunDlg::on__showAll_stateChanged
void on__showAll_stateChanged(int state)
Definition: runform.cpp:50
RunDlg::setTolerance
void setTolerance(QString str)
Definition: runform.hpp:78
RunDlg::on__commInterval_currentIndexChanged
void on__commInterval_currentIndexChanged(int index)
Definition: runform.cpp:64
RunDlg::LPS
QString LPS()
Definition: runform.hpp:80
RunDlg::setReorderPartition
void setReorderPartition(QString str)
Definition: runform.hpp:101
RunDlg::getSchedulerString
QString getSchedulerString(int idx)
Definition: runform.cpp:215
RunDlg::setDtSynch
void setDtSynch(QString str)
Definition: runform.hpp:88
RunDlg::getComboBoolString
QString getComboBoolString(int idx)
Definition: runform.cpp:235
RunDlg::period
QString period()
Definition: runform.hpp:56
RunDlg::getOutputTypeString
QString getOutputTypeString(int idx)
Definition: runform.cpp:194
RunDlg::getSolverIdx
int getSolverIdx(QString str)
Definition: runform.cpp:113
RunDlg::setDebugGraph
void setDebugGraph(QString str)
Definition: runform.hpp:103
RunDlg::setScheduler
void setScheduler(QString str)
Definition: runform.hpp:73
RunDlg::setBDFMaxStep
void setBDFMaxStep(QString d)
Definition: runform.hpp:111
RunDlg::scheduler
QString scheduler()
Definition: runform.hpp:57
RunDlg::generateArch
QString generateArch()
Definition: runform.hpp:98
RunDlg::setPatohSettings
void setPatohSettings(QString str)
Definition: runform.hpp:91
RunDlg::_validate
QDoubleValidator * _validate
Definition: runform.hpp:136
RunDlg::setBDFPartitionDepth
void setBDFPartitionDepth(QString d)
Definition: runform.hpp:109
RunDlg::setPeriod
void setPeriod(QString str)
Definition: runform.hpp:72
RunDlg::getJacobianString
QString getJacobianString(int idx)
Definition: runform.cpp:175
RunDlg::metisSettings
QString metisSettings()
Definition: runform.hpp:94
RunDlg::setStopTime
void setStopTime(QString str)
Definition: runform.hpp:76
RunDlg::setSymDiff
void setSymDiff(QString str)
Definition: runform.hpp:77