Changeset c77151b in OpenModelica
- Timestamp:
- 2016-04-08T11:36:48+02:00 (8 years ago)
- Branches:
- Added-citation-metadata, maintenance/v1.14, maintenance/v1.15, maintenance/v1.16, maintenance/v1.17, maintenance/v1.18, maintenance/v1.19, maintenance/v1.20, maintenance/v1.21, maintenance/v1.22, maintenance/v1.23, master, omlib-staging
- Children:
- 8909e6f
- Parents:
- f86be8df (diff), 2d4e99c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Location:
- OMEdit/OMEditGUI
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
OMEdit/OMEditGUI/OMC/OMCProxy.cpp
rb791c33 r2d4e99c 2454 2454 2455 2455 /*! 2456 * \brief OMCProxy::getJacobianMethods 2457 * Returns the list of jacobian methods and their description. 2458 * \param methods 2459 * \param descriptions 2460 */ 2461 void OMCProxy::getJacobianMethods(QStringList *methods, QStringList *descriptions) 2462 { 2463 for (int i = JAC_UNKNOWN + 1 ; i < JAC_MAX ; i++) { 2464 *methods << JACOBIAN_METHOD[i]; 2465 *descriptions << JACOBIAN_METHOD_DESC[i]; 2466 } 2467 } 2468 2469 /*! 2470 * \brief OMCProxy::getJacobianFlagDetailedDescription 2471 * Returns the Jacobian flag detailed description 2472 * \return 2473 */ 2474 QString OMCProxy::getJacobianFlagDetailedDescription() 2475 { 2476 return FLAG_DETAILED_DESC[FLAG_JACOBIAN]; 2477 } 2478 2479 /*! 2456 2480 * \brief OMCProxy::getInitializationMethods 2457 2481 * Returns the list of initialization methods name and their description. -
OMEdit/OMEditGUI/OMC/OMCProxy.h
r5a75cb51 r2d4e99c 224 224 QStringList getEnumerationLiterals(QString className); 225 225 void getSolverMethods(QStringList *methods, QStringList *descriptions); 226 void getJacobianMethods(QStringList *methods, QStringList *descriptions); 227 QString getJacobianFlagDetailedDescription(); 226 228 void getInitializationMethods(QStringList *methods, QStringList *descriptions); 227 229 void getLinearSolvers(QStringList *methods, QStringList *descriptions); -
OMEdit/OMEditGUI/Simulation/SimulationDialog.cpp
r373069e9 r2d4e99c 182 182 mpToleranceLabel = new Label(tr("Tolerance:")); 183 183 mpToleranceTextBox = new QLineEdit("1e-6"); 184 // jacobian 185 mpJacobianLabel = new Label(tr("Jacobian:")); 186 mpJacobianLabel->setToolTip(mpMainWindow->getOMCProxy()->getJacobianFlagDetailedDescription()); 187 QStringList jacobianMethods, jacobianMethodsDesc; 188 mpMainWindow->getOMCProxy()->getJacobianMethods(&jacobianMethods, &jacobianMethodsDesc); 189 mpJacobianComboBox = new QComboBox; 190 mpJacobianComboBox->addItems(jacobianMethods); 191 for (int i = 0 ; i < jacobianMethodsDesc.size() ; i++) { 192 mpJacobianComboBox->setItemData(i, jacobianMethodsDesc.at(i), Qt::ToolTipRole); 193 } 194 connect(mpJacobianComboBox, SIGNAL(currentIndexChanged(int)), SLOT(updateJacobianToolTip(int))); 195 updateJacobianToolTip(0); 184 196 // dassl options 185 197 mpDasslOptionsGroupBox = new QGroupBox(tr("DASSL Options")); 186 // dassl jacobian187 mpDasslJacobianLabel = new Label(tr("Jacobian:"));188 mpDasslJacobianComboBox = new QComboBox;189 mpDasslJacobianComboBox->addItem(tr("Colored Numerical"), "coloredNumerical");190 mpDasslJacobianComboBox->setItemData(0, "colored numerical jacobian", Qt::ToolTipRole);191 mpDasslJacobianComboBox->addItem(tr("Colored Symbolical"), "coloredSymbolical");192 mpDasslJacobianComboBox->setItemData(1, "colored symbolic jacobian - needs omc compiler flags +generateSymbolicJacobian or +generateSymbolicLinearization", Qt::ToolTipRole);193 mpDasslJacobianComboBox->addItem(tr("Internal Numerical"), "internalNumerical");194 mpDasslJacobianComboBox->setItemData(2, "internal numerical jacobian", Qt::ToolTipRole);195 mpDasslJacobianComboBox->addItem(tr("Symbolical"), "symbolical");196 mpDasslJacobianComboBox->setItemData(3, "symbolic jacobian - needs omc compiler flags +generateSymbolicJacobian or +generateSymbolicLinearization", Qt::ToolTipRole);197 mpDasslJacobianComboBox->addItem(tr("Numerical"), "numerical");198 mpDasslJacobianComboBox->setItemData(4, "numerical jacobian", Qt::ToolTipRole);199 198 // no root finding 200 199 mpDasslRootFindingCheckBox = new QCheckBox(tr("Root Finding")); … … 218 217 QGridLayout *pDasslOptionsGridLayout = new QGridLayout; 219 218 pDasslOptionsGridLayout->setColumnStretch(1, 1); 220 pDasslOptionsGridLayout->addWidget(mpDasslJacobianLabel, 0, 0); 221 pDasslOptionsGridLayout->addWidget(mpDasslJacobianComboBox, 0, 1); 222 pDasslOptionsGridLayout->addWidget(mpDasslRootFindingCheckBox, 1, 0, 1, 2); 223 pDasslOptionsGridLayout->addWidget(mpDasslRestartCheckBox, 2, 0, 1, 2); 224 pDasslOptionsGridLayout->addWidget(mpDasslInitialStepSizeLabel, 3, 0); 225 pDasslOptionsGridLayout->addWidget(mpDasslInitialStepSizeTextBox, 3, 1); 226 pDasslOptionsGridLayout->addWidget(mpDasslMaxStepSizeLabel, 4, 0); 227 pDasslOptionsGridLayout->addWidget(mpDasslMaxStepSizeTextBox, 4, 1); 228 pDasslOptionsGridLayout->addWidget(mpDasslMaxIntegrationOrderLabel, 5, 0); 229 pDasslOptionsGridLayout->addWidget(mpDasslMaxIntegrationOrderSpinBox, 5, 1); 219 pDasslOptionsGridLayout->addWidget(mpDasslRootFindingCheckBox, 0, 0, 1, 2); 220 pDasslOptionsGridLayout->addWidget(mpDasslRestartCheckBox, 1, 0, 1, 2); 221 pDasslOptionsGridLayout->addWidget(mpDasslInitialStepSizeLabel, 2, 0); 222 pDasslOptionsGridLayout->addWidget(mpDasslInitialStepSizeTextBox, 2, 1); 223 pDasslOptionsGridLayout->addWidget(mpDasslMaxStepSizeLabel, 3, 0); 224 pDasslOptionsGridLayout->addWidget(mpDasslMaxStepSizeTextBox, 3, 1); 225 pDasslOptionsGridLayout->addWidget(mpDasslMaxIntegrationOrderLabel, 4, 0); 226 pDasslOptionsGridLayout->addWidget(mpDasslMaxIntegrationOrderSpinBox, 4, 1); 230 227 mpDasslOptionsGroupBox->setLayout(pDasslOptionsGridLayout); 231 228 // set the layout for integration groupbox … … 237 234 pIntegrationGridLayout->addWidget(mpToleranceLabel, 1, 0); 238 235 pIntegrationGridLayout->addWidget(mpToleranceTextBox, 1, 1, 1, 2); 239 pIntegrationGridLayout->addWidget(mpDasslOptionsGroupBox, 2, 0, 1, 3); 236 pIntegrationGridLayout->addWidget(mpJacobianLabel, 2, 0); 237 pIntegrationGridLayout->addWidget(mpJacobianComboBox, 2, 1, 1, 2); 238 pIntegrationGridLayout->addWidget(mpDasslOptionsGroupBox, 3, 0, 1, 3); 240 239 mpIntegrationGroupBox->setLayout(pIntegrationGridLayout); 241 240 // Compiler Flags … … 590 589 mpToleranceTextBox->setText(simulationOptions.getTolerance()); 591 590 // dassl jacobian 592 currentIndex = mp DasslJacobianComboBox->findText(simulationOptions.getDasslJacobian(), Qt::MatchExactly);591 currentIndex = mpJacobianComboBox->findText(simulationOptions.getJacobian(), Qt::MatchExactly); 593 592 if (currentIndex > -1) { 594 mp DasslJacobianComboBox->setCurrentIndex(currentIndex);593 mpJacobianComboBox->setCurrentIndex(currentIndex); 595 594 } 596 595 // no root finding … … 727 726 simulationOptions.setMethod(mpMethodComboBox->currentText()); 728 727 simulationOptions.setTolerance(mpToleranceTextBox->text()); 729 simulationOptions.set DasslJacobian(mpDasslJacobianComboBox->itemData(mpDasslJacobianComboBox->currentIndex()).toString());728 simulationOptions.setJacobian(mpJacobianComboBox->itemData(mpJacobianComboBox->currentIndex()).toString()); 730 729 simulationOptions.setDasslRootFinding(mpDasslRootFindingCheckBox->isChecked()); 731 730 simulationOptions.setDasslRestart(mpDasslRestartCheckBox->isChecked()); … … 794 793 .arg("variableFilter").arg(simulationOptions.getVariableFilter())); 795 794 simulationFlags.append(QString("-r=").append(simulationOptions.getResultFileName())); 795 // jacobian 796 simulationFlags.append(QString("-jacobian=").append(mpJacobianComboBox->itemData(mpJacobianComboBox->currentIndex()).toString())); 796 797 // dassl options 797 798 if (mpDasslOptionsGroupBox->isEnabled()) { 798 // dassl jacobian799 simulationFlags.append(QString("-dasslJacobian=").append(mpDasslJacobianComboBox->itemData(mpDasslJacobianComboBox->currentIndex()).toString()));800 799 // dassl root finding 801 800 if (!mpDasslRootFindingCheckBox->isChecked()) { … … 1102 1101 Helper::scriptingKind, Helper::errorLevel)); 1103 1102 } 1103 } 1104 1105 /*! 1106 * \brief SimulationDialog::updateJacobianToolTip 1107 * Updates the Jacobian combobox tooltip. 1108 * \param index 1109 */ 1110 void SimulationDialog::updateJacobianToolTip(int index) 1111 { 1112 mpJacobianComboBox->setToolTip(mpJacobianComboBox->itemData(index, Qt::ToolTipRole).toString()); 1104 1113 } 1105 1114 -
OMEdit/OMEditGUI/Simulation/SimulationDialog.h
re0629d9 r2d4e99c 101 101 Label *mpToleranceLabel; 102 102 QLineEdit *mpToleranceTextBox; 103 Label *mpJacobianLabel; 104 QComboBox *mpJacobianComboBox; 103 105 QGroupBox *mpDasslOptionsGroupBox; 104 Label *mpDasslJacobianLabel;105 QComboBox *mpDasslJacobianComboBox;106 106 QCheckBox *mpDasslRootFindingCheckBox; 107 107 QCheckBox *mpDasslRestartCheckBox; … … 201 201 void enableDasslOptions(QString method); 202 202 void showIntegrationHelp(); 203 void updateJacobianToolTip(int index); 203 204 void buildOnly(bool checked); 204 205 void browseModelSetupFile(); -
OMEdit/OMEditGUI/Simulation/SimulationOptions.h
r2c2c5e9 r2d4e99c 51 51 setMethod(""); 52 52 setTolerance(""); 53 set DasslJacobian("");53 setJacobian(""); 54 54 setDasslRootFinding(true); 55 55 setDasslRestart(true); … … 102 102 void setTolerance(QString tolerance) {mTolerance = tolerance;} 103 103 QString getTolerance() {return mTolerance;} 104 void set DasslJacobian(QString dasslJacobian) {mDasslJacobian = dasslJacobian;}105 QString get DasslJacobian() {return mDasslJacobian;}104 void setJacobian(QString jacobian) {mJacobian = jacobian;} 105 QString getJacobian() {return mJacobian;} 106 106 void setDasslRootFinding(bool dasslRootFinding) {mDasslRootFinding = dasslRootFinding;} 107 107 bool getDasslRootFinding() {return mDasslRootFinding;} … … 190 190 QString mMethod; 191 191 QString mTolerance; 192 QString m DasslJacobian;192 QString mJacobian; 193 193 bool mDasslRootFinding; 194 194 bool mDasslRestart;
Note: See TracChangeset
for help on using the changeset viewer.