Changeset c77151b in OpenModelica


Ignore:
Timestamp:
2016-04-08T11:36:48+02:00 (8 years ago)
Author:
Robert Braun <robert.braun@…>
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.
Message:

Merge branch 'master' of https://openmodelica.org/git-readonly/OMEdit into my_omedit_branch

Location:
OMEdit/OMEditGUI
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • OMEdit/OMEditGUI/OMC/OMCProxy.cpp

    rb791c33 r2d4e99c  
    24542454
    24552455/*!
     2456 * \brief OMCProxy::getJacobianMethods
     2457 * Returns the list of jacobian methods and their description.
     2458 * \param methods
     2459 * \param descriptions
     2460 */
     2461void 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 */
     2474QString OMCProxy::getJacobianFlagDetailedDescription()
     2475{
     2476  return FLAG_DETAILED_DESC[FLAG_JACOBIAN];
     2477}
     2478
     2479/*!
    24562480 * \brief OMCProxy::getInitializationMethods
    24572481 * Returns the list of initialization methods name and their description.
  • OMEdit/OMEditGUI/OMC/OMCProxy.h

    r5a75cb51 r2d4e99c  
    224224  QStringList getEnumerationLiterals(QString className);
    225225  void getSolverMethods(QStringList *methods, QStringList *descriptions);
     226  void getJacobianMethods(QStringList *methods, QStringList *descriptions);
     227  QString getJacobianFlagDetailedDescription();
    226228  void getInitializationMethods(QStringList *methods, QStringList *descriptions);
    227229  void getLinearSolvers(QStringList *methods, QStringList *descriptions);
  • OMEdit/OMEditGUI/Simulation/SimulationDialog.cpp

    r373069e9 r2d4e99c  
    182182  mpToleranceLabel = new Label(tr("Tolerance:"));
    183183  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);
    184196  // dassl options
    185197  mpDasslOptionsGroupBox = new QGroupBox(tr("DASSL Options"));
    186   // dassl jacobian
    187   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);
    199198  // no root finding
    200199  mpDasslRootFindingCheckBox = new QCheckBox(tr("Root Finding"));
     
    218217  QGridLayout *pDasslOptionsGridLayout = new QGridLayout;
    219218  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);
    230227  mpDasslOptionsGroupBox->setLayout(pDasslOptionsGridLayout);
    231228  // set the layout for integration groupbox
     
    237234  pIntegrationGridLayout->addWidget(mpToleranceLabel, 1, 0);
    238235  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);
    240239  mpIntegrationGroupBox->setLayout(pIntegrationGridLayout);
    241240  // Compiler Flags
     
    590589    mpToleranceTextBox->setText(simulationOptions.getTolerance());
    591590    // dassl jacobian
    592     currentIndex = mpDasslJacobianComboBox->findText(simulationOptions.getDasslJacobian(), Qt::MatchExactly);
     591    currentIndex = mpJacobianComboBox->findText(simulationOptions.getJacobian(), Qt::MatchExactly);
    593592    if (currentIndex > -1) {
    594       mpDasslJacobianComboBox->setCurrentIndex(currentIndex);
     593      mpJacobianComboBox->setCurrentIndex(currentIndex);
    595594    }
    596595    // no root finding
     
    727726  simulationOptions.setMethod(mpMethodComboBox->currentText());
    728727  simulationOptions.setTolerance(mpToleranceTextBox->text());
    729   simulationOptions.setDasslJacobian(mpDasslJacobianComboBox->itemData(mpDasslJacobianComboBox->currentIndex()).toString());
     728  simulationOptions.setJacobian(mpJacobianComboBox->itemData(mpJacobianComboBox->currentIndex()).toString());
    730729  simulationOptions.setDasslRootFinding(mpDasslRootFindingCheckBox->isChecked());
    731730  simulationOptions.setDasslRestart(mpDasslRestartCheckBox->isChecked());
     
    794793                         .arg("variableFilter").arg(simulationOptions.getVariableFilter()));
    795794  simulationFlags.append(QString("-r=").append(simulationOptions.getResultFileName()));
     795  // jacobian
     796  simulationFlags.append(QString("-jacobian=").append(mpJacobianComboBox->itemData(mpJacobianComboBox->currentIndex()).toString()));
    796797  // dassl options
    797798  if (mpDasslOptionsGroupBox->isEnabled()) {
    798     // dassl jacobian
    799     simulationFlags.append(QString("-dasslJacobian=").append(mpDasslJacobianComboBox->itemData(mpDasslJacobianComboBox->currentIndex()).toString()));
    800799    // dassl root finding
    801800    if (!mpDasslRootFindingCheckBox->isChecked()) {
     
    11021101                                                                 Helper::scriptingKind, Helper::errorLevel));
    11031102  }
     1103}
     1104
     1105/*!
     1106 * \brief SimulationDialog::updateJacobianToolTip
     1107 * Updates the Jacobian combobox tooltip.
     1108 * \param index
     1109 */
     1110void SimulationDialog::updateJacobianToolTip(int index)
     1111{
     1112  mpJacobianComboBox->setToolTip(mpJacobianComboBox->itemData(index, Qt::ToolTipRole).toString());
    11041113}
    11051114
  • OMEdit/OMEditGUI/Simulation/SimulationDialog.h

    re0629d9 r2d4e99c  
    101101  Label *mpToleranceLabel;
    102102  QLineEdit *mpToleranceTextBox;
     103  Label *mpJacobianLabel;
     104  QComboBox *mpJacobianComboBox;
    103105  QGroupBox *mpDasslOptionsGroupBox;
    104   Label *mpDasslJacobianLabel;
    105   QComboBox *mpDasslJacobianComboBox;
    106106  QCheckBox *mpDasslRootFindingCheckBox;
    107107  QCheckBox *mpDasslRestartCheckBox;
     
    201201  void enableDasslOptions(QString method);
    202202  void showIntegrationHelp();
     203  void updateJacobianToolTip(int index);
    203204  void buildOnly(bool checked);
    204205  void browseModelSetupFile();
  • OMEdit/OMEditGUI/Simulation/SimulationOptions.h

    r2c2c5e9 r2d4e99c  
    5151    setMethod("");
    5252    setTolerance("");
    53     setDasslJacobian("");
     53    setJacobian("");
    5454    setDasslRootFinding(true);
    5555    setDasslRestart(true);
     
    102102  void setTolerance(QString tolerance) {mTolerance = tolerance;}
    103103  QString getTolerance() {return mTolerance;}
    104   void setDasslJacobian(QString dasslJacobian) {mDasslJacobian = dasslJacobian;}
    105   QString getDasslJacobian() {return mDasslJacobian;}
     104  void setJacobian(QString jacobian) {mJacobian = jacobian;}
     105  QString getJacobian() {return mJacobian;}
    106106  void setDasslRootFinding(bool dasslRootFinding) {mDasslRootFinding = dasslRootFinding;}
    107107  bool getDasslRootFinding() {return mDasslRootFinding;}
     
    190190  QString mMethod;
    191191  QString mTolerance;
    192   QString mDasslJacobian;
     192  QString mJacobian;
    193193  bool mDasslRootFinding;
    194194  bool mDasslRestart;
Note: See TracChangeset for help on using the changeset viewer.