From 663006040a16572a7d55d633671a131eecbf5a03 Mon Sep 17 00:00:00 2001 From: Aslan Kosakian Date: Wed, 11 Jan 2017 13:56:34 -0800 Subject: [PATCH 1/4] Improvements for GUI: typos, descriptions, minor fixes. --- src/fcst/GUI/include/main_window.h | 30 +++---- src/fcst/GUI/include/settings_window.h | 6 +- src/fcst/GUI/source/main_window.cc | 109 +++++++++++++------------ src/fcst/GUI/source/settings_window.cc | 34 ++++---- 4 files changed, 94 insertions(+), 85 deletions(-) diff --git a/src/fcst/GUI/include/main_window.h b/src/fcst/GUI/include/main_window.h index db6b271..094733a 100644 --- a/src/fcst/GUI/include/main_window.h +++ b/src/fcst/GUI/include/main_window.h @@ -178,9 +178,9 @@ private slots: */ void createSpinBoxWindow(); /** - * Sets the amount of CPU's for running the simulation + * Sets the amount of CPU cores for running the simulation */ - void setCpuAmount(); + void setCoreNumber(); /** * Calls function to open a project. */ @@ -246,31 +246,31 @@ private slots: */ void closeProject(); /** - * Sets the 2D or 3D Demensionen Type + * Sets the dimension: 2D or 3D */ - void setDemensionenType(bool isTriggered); + void setDimension(bool isTriggered); /** - * starts a new instance of FCST + * Starts a new instance of FCST */ void newInstance(); /** - * This slot calls the convertion function from prm to xml + * This slot calls the conversion function from prm to xml * by pressing the button */ void convert_prm_xml_slot(); - /** - * This slot calls the convertion function from xml to prm + /** + * This slot calls the conversion function from xml to prm * by pressing the button */ void convert_xml_prm_slot(); private: /** - * Starts converting user selected file from .prm to .xml + * Starts converting user-selected file from .xml to .prm */ void convert_xml_prm(QString FilePath); /** - * Starts converting user selected file from .prm to .xml + * Starts converting user-selected file from .prm to .xml */ void convert_prm_xml(QString FilePath); /** @@ -434,9 +434,9 @@ private slots: * Dynamic sizers for managing the size and position of visual elements. */ QPointer hBox ; - QPointer buttonBox; + QPointer buttonBox; QPointer vBoxLeft; - QPointer vBoxRight; + QPointer vBoxRight; QPointer tabWidget; /** * Enumeration describing states of project creation/simulation execution. @@ -458,7 +458,7 @@ private slots: QPointer fileWatcher; QFont font; QPointer fileLabel; - QPointerFCSToutputLabel; + QPointerFCSToutputLabel; /** * Object for calling FCST. */ @@ -477,7 +477,7 @@ private slots: /** * Sets the numbers of CPU's used for the simulation */ - QString CpuNumbers; + QString NumberOfCores; /** * Action to set fuel_chell-2d.bin * and run OpenFCST in 2D simulation @@ -527,7 +527,7 @@ private slots: /** * SpinBox to set numbers of CPU's */ - QPointer CpuAmound_SpinBox; + QPointer CoreNumber_SpinBox; /** * Function for creating QActions, returns QAction */ diff --git a/src/fcst/GUI/include/settings_window.h b/src/fcst/GUI/include/settings_window.h index cbc7505..5c4cbfe 100644 --- a/src/fcst/GUI/include/settings_window.h +++ b/src/fcst/GUI/include/settings_window.h @@ -88,7 +88,7 @@ namespace FCSTGUI QLineEdit* createQLineEdit(); /** - * Hold the revieved data from settings.ini file + * Hold the reviewed data from settings.ini file */ QPointer gui_setting; /** @@ -120,9 +120,9 @@ namespace FCSTGUI */ QPointer opt_file_edit; /** - * QSpinBox for setting numbers of CPU's + * QSpinBox for setting number of CPU cores */ - QPointer cpu_amount_spinbox; + QPointer core_number_spinbox; /** * Showing 2D bin path */ diff --git a/src/fcst/GUI/source/main_window.cc b/src/fcst/GUI/source/main_window.cc index b5df420..36311d2 100644 --- a/src/fcst/GUI/source/main_window.cc +++ b/src/fcst/GUI/source/main_window.cc @@ -80,12 +80,12 @@ void MainWindow::create_settings() "OpenFCST binary not found, please select existing binary.", QMessageBox::Ok); //select 2D binary - binary_path_2D = QFileDialog::getOpenFileName(this, tr("Select OpenFCST 2D simulation Binary File"), + binary_path_2D = QFileDialog::getOpenFileName(this, tr("Select OpenFCST 2D simulation binary file"), QDir::currentPath(), tr("2D Bin File(*2d.bin) (*2d.bin)")); //select 3D binary - binary_path_3D = QFileDialog::getOpenFileName(this, tr("Select OpenFCST 3D simulation Binary File"), + binary_path_3D = QFileDialog::getOpenFileName(this, tr("Select OpenFCST 3D simulation binary file"), QDir::currentPath(), tr("3D Bin File(*3d.bin) (*3d.bin)")); } @@ -124,11 +124,11 @@ void MainWindow::create_settings() gui_settings->setValue("optFileName", optFileName); } //sets the amount of the CPU's - CpuNumbers = gui_settings->value("CpuAmount").toString(); - if(CpuNumbers == ""){ + NumberOfCores = gui_settings->value("CoreNumber").toString(); + if(NumberOfCores == ""){ //Set default - CpuNumbers = "1"; - gui_settings->setValue("CpuAmount", CpuNumbers); + NumberOfCores = "1"; + gui_settings->setValue("CoreNumber", NumberOfCores); } workingDir = gui_settings->value("WorkDir").toString(); @@ -211,7 +211,7 @@ void MainWindow::create_widgets() fileLabel->setFont(font); outputList = new QListWidget(this); outputList->setToolTip(tr("Double click to open file with operating system default. " - "To change default program for a given file type use 'Open with' dialogue in standard file browser.")); + "To change default program for a given file type, use 'Open with' dialogue in standard file browser.")); //Connect outputList double click event to function connect(outputList, SIGNAL(itemDoubleClicked (QListWidgetItem *)), this, SLOT(fileBrowserClicked(QListWidgetItem *))); @@ -248,17 +248,17 @@ void MainWindow::create_actions() save_log_act = createQAction(tr("&Save Log..."), SLOT(save_log())); // create actions save_log_act->setShortcut(Qt::CTRL + Qt::Key_L); // set a short cut - save_log_act->setStatusTip(tr("Save the text log.")); // set a status tip + save_log_act->setStatusTip(tr("Save the text log")); // set a status tip open_act = createQAction(tr("&Open Project..."), SLOT(openProjectSlot())); // create actions open_act->setShortcut(Qt::CTRL + Qt::Key_O); // set a short cut open_act->setIcon(QIcon(":/images/open_icon.png")); - open_act->setStatusTip(tr("Open a XML file")); // set a status tip + open_act->setStatusTip(tr("Open an XML file")); // set a status tip save_act = createQAction(tr("&Save All..."), SLOT(saveAll())); save_act->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_S ); save_act->setIcon(QIcon(":/images/save_icon.png")); - save_act->setStatusTip(tr("Save the current XML files.")); + save_act->setStatusTip(tr("Save the current XML files")); save_as_act = createQAction(tr("&Save Current Tab As..."), SLOT(save_as())); save_as_act->setShortcut(Qt::CTRL + Qt::Key_S ); @@ -284,34 +284,34 @@ void MainWindow::create_actions() set3Dsimulation_act->setChecked(false); set3Dsimulation_act->setStatusTip(tr("Set the simulation to run in 3D")); set3Dsimulation_act->setIcon(QIcon(":/images/3D_icon.png")); - connect(set3Dsimulation_act, SIGNAL(triggered(bool)), this, SLOT(setDemensionenType(bool))); + connect(set3Dsimulation_act, SIGNAL(triggered(bool)), this, SLOT(setDimension(bool))); set2Dsimulation_act = new QAction(tr("&2D Simulation"),this); set2Dsimulation_act->setCheckable(true); //set the Action checkable set2Dsimulation_act->setChecked(true); set2Dsimulation_act->setStatusTip(tr("Set the simulation to run in 2D")); set2Dsimulation_act->setIcon(QIcon(":/images/2D_icon.png")); - connect(set2Dsimulation_act, SIGNAL(triggered(bool)), this, SLOT(setDemensionenType(bool))); + connect(set2Dsimulation_act, SIGNAL(triggered(bool)), this, SLOT(setDimension(bool))); convert_prm_xml_act = createQAction(tr("Prm to Xml"),SLOT(convert_prm_xml_slot())); - convert_prm_xml_act->setStatusTip(tr("Converts selected prm file into xml in same path")); - - convert_xml_prm_act = createQAction(tr("Xml to Prm"),SLOT(convert_xml_prm_slot())); - convert_xml_prm_act->setStatusTip(tr("Converts selected xml file into prm in same path")); + convert_prm_xml_act->setStatusTip(tr("Convert selected PRM file into XML in same path")); + + convert_xml_prm_act = createQAction(tr("Xml to Prm"),SLOT(convert_xml_prm_slot())); + convert_xml_prm_act->setStatusTip(tr("Convert selected XML file into PRM in same path")); parallel_sim_act = createQAction(tr("Parallel Running"),SLOT(createSpinBoxWindow())); - parallel_sim_act->setStatusTip(tr("Sets the amount of CPU's which are used for the simulation")); + parallel_sim_act->setStatusTip(tr("Set the number of CPU cores to be used for the simulation")); close_project_act= createQAction(tr("&Close Project"),SLOT(closeProject())); close_project_act->setIcon(QIcon(":/images/close_icon.png")); - close_project_act->setStatusTip(tr("Close the open project")); + close_project_act->setStatusTip(tr("Close the opened project")); settings_act = createQAction(tr("&Advanced Settings"), SLOT(openSettingsWindow())); settings_act->setIcon(QIcon(":/images/settings_icon.png")); - settings_act->setStatusTip(tr("Open the advance settings window")); + settings_act->setStatusTip(tr("Open the advanced settings window")); - export_project_as_prm_act = createQAction(tr("&Export to prm"),SLOT(export_project_to_prm())); - export_project_as_prm_act->setStatusTip(tr("Export the current open project in PRM files")); + export_project_as_prm_act = createQAction(tr("&Export to PRM"),SLOT(export_project_to_prm())); + export_project_as_prm_act->setStatusTip(tr("Export the current project into PRM files")); } //------------------------------------------------------------------------------------------------// void MainWindow::create_toolbar() @@ -452,7 +452,7 @@ void MainWindow::convert_prm_xml(QString FilePath) QString binPath; //Ask user if converting to 2D or 3D QMessageBox msgBox; - msgBox.setText(tr("Choose convertion dimension")); + msgBox.setText(tr("Choose conversion dimension")); QPushButton *convert2D = msgBox.addButton(tr("2D"), QMessageBox::ActionRole); QPushButton *convert3D = msgBox.addButton(tr("3D"), QMessageBox::ActionRole); msgBox.exec(); @@ -517,7 +517,7 @@ bool MainWindow::callFCST(QStringList arguments, bool pipeMsg, QString WorkDirec //Run fcst from WorkDirection process->setWorkingDirectory(WorkDirection); //get the amount of CPU's - QString CpuNum = gui_settings->value("CpuAmount").toString(); + QString CpuNum = gui_settings->value("CoreNumber").toString(); // add mpirun argument to run // @caution "-quiet" is called because of an error during the conversion from PRM into XML by calling mpirun @@ -901,16 +901,16 @@ void MainWindow::createSpinBoxWindow() { QVBoxLayout * layo = new QVBoxLayout(); QPushButton * setButton = new QPushButton(tr("Ok")); - QLabel * infoLabel = new QLabel(tr("Set amount usage of CPU's \n for running the simulation")); + QLabel * infoLabel = new QLabel(tr("Set number of CPU cores \n to be used in the simulation")); //connectiopn to set user value into settings.ini file - connect(setButton, SIGNAL(pressed()),this, SLOT(setCpuAmount())); - CpuAmound_SpinBox = new QSpinBox(); - //range only between 1-4 cores - CpuAmound_SpinBox->setRange(1,4); - int value = gui_settings->value("CpuAmount").toInt(); - CpuAmound_SpinBox->setValue(value); + connect(setButton, SIGNAL(pressed()),this, SLOT(setCoreNumber())); + CoreNumber_SpinBox = new QSpinBox(); + //range only between 1-32 cores + CoreNumber_SpinBox->setRange(1,32); + int value = gui_settings->value("CoreNumber").toInt(); + CoreNumber_SpinBox->setValue(value); layo->addWidget(infoLabel); - layo->addWidget(CpuAmound_SpinBox); + layo->addWidget(CoreNumber_SpinBox); layo->addWidget(setButton); parallel_running_dialog = new QDialog(); @@ -920,11 +920,11 @@ void MainWindow::createSpinBoxWindow() } //------------------------------------------------------------------------------------------------// -void MainWindow::setCpuAmount() +void MainWindow::setCoreNumber() { - int i_value = CpuAmound_SpinBox->value(); + int i_value = CoreNumber_SpinBox->value(); QString s_val = QString::number(i_value); - gui_settings->setValue("CpuAmount", s_val); + gui_settings->setValue("CoreNumber", s_val); parallel_running_dialog->close(); } //------------------------------------------------------------------------------------------------// @@ -1042,7 +1042,7 @@ void MainWindow::about() trAboutparameterGUItext = QMessageBox::tr( "

The OpenFCST parameterGUI is a graphical user interface for editing XML parameter files " "adapted from the deal.II parameterGUI(dealii.org/doc).

" - "

Developed by Philip Wardlaw (View profile)

" + "

Developed by Philip Wardlaw (View profile) and Simon Mattern

" ); QPointer msg_box = new QMessageBox; @@ -1077,31 +1077,34 @@ void MainWindow::aboutOpenFCST() QString trAboutparameterGUIcaption; trAboutparameterGUIcaption = QMessageBox::tr( - "

Authors:

" - "

Marc Secanell, Valentin N. Zingan, Andreas Putz," - " Madhur Bhaiya, Michael Moore, Peter Dobson," - " Philip Wardlaw, Chad Balen," - " Jie Zhou, Kailyn Domican, Aslan Kosakian and Mayank Sabharwal.

" + "

Authors

" + "

Current developers

" + "

Marc Secanell, Alex Jarauta, Andreas Putz, " + "Aslan Kosakian, Jie Zhou, and Mayank Sabharwal

" + "

Past developers

" + "

Chad Balen, Madhur Bhaiya, Michael Moore, Peter Dobson, Philip Wardlaw, and Valentin N. Zingan

" + "

Other contributors

" + "

Kailyn Domican and Simon Matterns

" ).arg(QLatin1String(QT_VERSION_STR)); QString trAboutparameterGUItext; trAboutparameterGUItext = QMessageBox::tr( - "

About OpenFCST:

" + "

About OpenFCST

" "

OpenFCST (open-source fuel cell simulation toolbox) is an open-" " source, finite element method based, multi-dimensional mathematical modeling software for polymer electrolyte fuel cells.<\p>" "

The aim of the software is to develop a platform for collaborative development of fuel cell mathematical models. Detailed information" - " regarding the latest updates on the software can be found at the OpenFCST website " + " regarding the latest updates on the software can be found on the OpenFCST website " " including the User Guide for the software.

" "

OpenFCST currently includes physical models for gas, electron, ion, ionomer-" " bound water and heat transport. It also contains effective transport media relations to estimate transport properties for gas diffusion" " layers, micro-porous layers and catalyst layers as well as several kinetic" " models for the fuel cell electrochemical reactions. OpenFCST has been structured as a toolbox such that it is easier for new users to" - " integrate new physical models with existing framework.

" + " integrate new physical models with the existing framework.

" "" - "

Copyright:

" + "

Copyright

" "

FCST: Fuel Cell Simulation Toolbox is distributed under the MIT License.

" - "

Copyright (C) 2013 Energy Systems Design Laboratory, University of Alberta.

" + "

Copyright (C) 2016 Energy Systems Design Laboratory, University of Alberta.

" "

The MIT License (MIT)

" "

Permission is hereby granted, free of charge, to any person obtaining a copy of this software " "and associated documentation files (the \"Software\"), to deal in the Software without restriction, " @@ -1117,10 +1120,16 @@ void MainWindow::aboutOpenFCST() "ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."); QPointer msg_box = new QMessageBox; + // Change the first argument in the line below to adjust the width of the "About OpenFCST" window + // Search tags: size, height, width + QSpacerItem* horizontalSpacer = new QSpacerItem(700, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); + QGridLayout* layout = (QGridLayout*)msg_box->layout(); + msg_box->setAttribute(Qt::WA_DeleteOnClose); msg_box->setWindowTitle(title); msg_box->setText(trAboutparameterGUIcaption); msg_box->setInformativeText(trAboutparameterGUItext); + layout->addItem(horizontalSpacer, layout->rowCount(), 0, 1, layout->columnCount()); #ifdef Q_WS_MAC old_msg_box = msg_box; @@ -1155,7 +1164,7 @@ void MainWindow::finishedFCST(int status ,QProcess::ExitStatus qStatus) if (qStatus == QProcess::CrashExit and not callQuit){ log("OpenFCST Binary crashed \n"); QMessageBox::information(this, "OpenFCST Crashed", - "OpenFCST appears to have crashed. For more information regarding the crash scenario you may wish to run " + "OpenFCST appears to have crashed. For more information regarding the crash scenario, you may wish to run " "OpenFCST in debug mode - see the installation script for options.", QMessageBox::Ok); } @@ -1233,7 +1242,7 @@ void MainWindow::closeProject() } } //------------------------------------------------------------------------------------------------// -void MainWindow::setDemensionenType(bool isTriggered) +void MainWindow::setDimension(bool isTriggered) { QObject * obj = sender(); if (obj == set2Dsimulation_act) @@ -1324,7 +1333,7 @@ void MainWindow::next_click() { //Process the main saveAll(); - log("Creating other param files.\n"); + log("Creating other parameter files.\n"); FCSTBinAddr = gui_settings->value("OpenFCSTbin").toString(); callFCST(QStringList() << paramArg << mainFileName, false, workingDir, FCSTBinAddr); // ./fuel-cell.bin -p main.xml @@ -1359,7 +1368,7 @@ void MainWindow::next_click() break; case Ready: { - log("Getting ready to start simulation.\n"); + log("Getting ready to start the simulation.\n"); //We have main + other files, presuming user has edited them we may proceed to Running //First save files saveAll(); @@ -1383,7 +1392,7 @@ void MainWindow::next_click() case Running: { //Give user the option to kill the running simulation - if(QMessageBox::question(this, "Terminate simulation", "" + if(QMessageBox::question(this, "Terminate the simulation", "" "Do you really want to end the running simulation?", QMessageBox::Yes|QMessageBox::No) == QMessageBox::Yes) { diff --git a/src/fcst/GUI/source/settings_window.cc b/src/fcst/GUI/source/settings_window.cc index c431662..603940b 100644 --- a/src/fcst/GUI/source/settings_window.cc +++ b/src/fcst/GUI/source/settings_window.cc @@ -49,10 +49,10 @@ void settingsWindow::createWidgets() data_file_edit = createQLineEdit(); opt_file_edit = createQLineEdit(); - cpu_amount_spinbox = new QSpinBox(); - cpu_amount_spinbox->setRange(1,4); - cpu_amount_spinbox->setMaximumSize(200,150); - cpu_amount_spinbox->setEnabled(true); + core_number_spinbox = new QSpinBox(); + core_number_spinbox->setRange(1,32); + core_number_spinbox->setMaximumSize(200,150); + core_number_spinbox->setEnabled(true); //path settings used_binary_box = new QComboBox(); @@ -66,7 +66,7 @@ void settingsWindow::createWidgets() //------------------------------------------------------------------------------------------------// void settingsWindow::LoadSettings() { - cpu_amount_spinbox->setValue(gui_setting->value("CpuAmount").toInt()); + core_number_spinbox->setValue(gui_setting->value("CoreNumber").toInt()); sim_argument_edit->setText(gui_setting->value("OpenFCSTparamArg").toString()); main_file_edit->setText(gui_setting->value("mainFileName").toString()); data_file_edit->setText(gui_setting->value("dataFileName").toString()); @@ -80,14 +80,14 @@ void settingsWindow::LoadSettings() //------------------------------------------------------------------------------------------------// void settingsWindow::createLayout() { - QPointer bin2DLabel = new QLabel("2D binary path"); - QPointer bin3DLabel = new QLabel("3D binary path"); - QPointer binLabel =new QLabel("Used binary \nduring the simulation"); - QPointer parallelLabel =new QLabel("Parralel Running \n(Numbers of CPU used during the simulation)"); - QPointer mainfileLabel =new QLabel("Main File Name"); - QPointer datafileLabel =new QLabel("Data File Name"); - QPointer optfileLabel =new QLabel("Opt File Name"); - QPointer usedparaLabel =new QLabel("Used parameter during the simulation"); + QPointer bin2DLabel = new QLabel("2D binary path"); + QPointer bin3DLabel = new QLabel("3D binary path"); + QPointer binLabel = new QLabel("Binary used during the simulation"); + QPointer parallelLabel = new QLabel("Number of CPU cores to be used"); + QPointer mainfileLabel = new QLabel("Main file name"); + QPointer datafileLabel = new QLabel("Data file name"); + QPointer optfileLabel = new QLabel("Opt file name"); + QPointer usedparaLabel = new QLabel("Arguments used for the binary"); //Gridlayout QPointer mainlayout = new QGridLayout(); @@ -100,7 +100,7 @@ void settingsWindow::createLayout() mainlayout->addWidget(binLabel,2,0 ); mainlayout->addWidget(used_binary_box,2,1 ); mainlayout->addWidget(parallelLabel,3,0); - mainlayout->addWidget(cpu_amount_spinbox,3,1); + mainlayout->addWidget(core_number_spinbox,3,1); mainlayout->addWidget(mainfileLabel,4,0); mainlayout->addWidget(main_file_edit,4,1); mainlayout->addWidget(datafileLabel,5,0); @@ -126,7 +126,7 @@ void settingsWindow::createLayout() QLineEdit* settingsWindow::createQLineEdit() { QPointer LineEd = new QLineEdit(); - LineEd->setReadOnly(true); + LineEd->setReadOnly(false); LineEd->setMaximumSize(200,150); return LineEd; } @@ -156,9 +156,9 @@ void settingsWindow::closeSettings() //--------------------------------------------------------------------------// void settingsWindow::saveSettings() { - int iValue = cpu_amount_spinbox->value(); + int iValue = core_number_spinbox->value(); QString sVal = QString::number(iValue); - gui_setting->setValue("CpuAmount", sVal); + gui_setting->setValue("CoreNumber", sVal); gui_setting->setValue("bin2DPath", bin_2D_path_box->currentText()); gui_setting->setValue("bin3DPath", bin_3D_path_box->currentText()); settings_dialog->close(); From a6cf617e033c73c9bced9cfa0b88bb739ca244a8 Mon Sep 17 00:00:00 2001 From: Aslan Kosakian Date: Fri, 13 Jan 2017 13:53:48 -0800 Subject: [PATCH 2/4] Updated the nightly testing script to completely reinstall OpenFCST before each nightly test. --- src/test/nightly_tests.cmake.zip | Bin 3613 -> 3518 bytes 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 src/test/nightly_tests.cmake.zip diff --git a/src/test/nightly_tests.cmake.zip b/src/test/nightly_tests.cmake.zip old mode 100755 new mode 100644 index fe3449549a4eac1b7a3d4dd37aafe678abc94cc5..a5ae6f62b61edc3e2d2120e991b3b84e3a7894c3 GIT binary patch literal 3518 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 BklX+O literal 3613 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 Date: Fri, 13 Jan 2017 13:57:08 -0800 Subject: [PATCH 3/4] Added matplotlib dependency for Python to README.rst file. --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index c948a96..4380460 100644 --- a/README.rst +++ b/README.rst @@ -137,7 +137,7 @@ The following software needs to be installed on your computer in order for OpenF #. For generating the documentation: DOxygen and Sphinx #. Boost; the specific packages are iostreams, serialization, system, thread, filesystem, regex, signals, program_options #. FLEX (for Dakota) -#. Python Packages: SciPy, NumPy, ipython, Sphinx, evtk, vtk, mayavi +#. Python Packages: SciPy, NumPy, ipython, Sphinx, evtk, vtk, matplotlib, mayavi #. libconfig-devel and libconfig++-devel #. patch From 00a721a58341b287b52cec36bfaff741fd3a7ee3 Mon Sep 17 00:00:00 2001 From: Aslan Kosakian Date: Mon, 16 Jan 2017 09:05:49 -0800 Subject: [PATCH 4/4] Removed pngmath. --- src/examples/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/examples/conf.py b/src/examples/conf.py index 9a59dd6..38970d9 100644 --- a/src/examples/conf.py +++ b/src/examples/conf.py @@ -36,7 +36,7 @@ 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.mathjax', - 'sphinx.ext.pngmath', + #'sphinx.ext.pngmath', 'sphinx.ext.ifconfig', 'sphinx.ext.viewcode', 'matplotlib.sphinxext.only_directives',