FOQUS Install Manual
User Manual: Pdf
Open the PDF directly: View PDF .
Page Count: 1
Download | |
Open PDF In Browser | View PDF |
FOQUS (Framework for Optimization, Quantification of Uncertainty and Sensitivity) INSTALL MANUAL Version 2015.3.0 March 24, 2015 FOQUS Installation Manual This Material was produced under the DOE Carbon Capture Simulation Initiative (CCSI), and copyright is held by the software owners: ORISE, LANS, LLNS, LBL, PNNL, CMU, WVU, et al. The software owners and/or the U.S. Government retain ownership of all rights in the CCSI software and the copyright and patents subsisting therein. Any distribution or dissemination is governed under the terms and conditions of the CCSI Test and Evaluation License, CCSI Master NonDisclosure Agreement, and the CCSI Intellectual Property Management Plan. No rights are granted except as expressly recited in one of the aforementioned agreements. Protected under CCSI MASTER NDA-1107306 2 FOQUS Installation Manual Rev. 0 Table of Contents 1. Read This First ............................................................................................................. 1-1 2. Introduction................................................................................................................. 2-1 3. 4. 5. 6. Third-Party Packages ................................................................................................... 3-1 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. 3.10. 3.11. 3.12. 3.13. 3.14. 3.15. 3.16. 3.17. 3.18. Optional Packages ....................................................................................................... 4-6 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. GAMS ............................................................................................................................... 4-6 Java .................................................................................................................................. 4-7 Apache Ant ...................................................................................................................... 4-7 Git .................................................................................................................................... 4-7 CMA ................................................................................................................................. 4-7 NLopt ............................................................................................................................... 4-8 Alfresco OpenCMIS Extension .......................................................................................... 4-8 Apache Chemistry ............................................................................................................ 4-8 CCSI Software Dependencies........................................................................................ 5-8 Windows Installation Proceedure ................................................................................ 6-9 6.1. 6.2. 7. Python ............................................................................................................................. 3-2 PySide .............................................................................................................................. 3-2 Numpy ............................................................................................................................. 3-2 SciPy ................................................................................................................................ 3-2 Matplotlib ........................................................................................................................ 3-3 pyparsing ......................................................................................................................... 3-3 pywin32 (Windows only) .................................................................................................. 3-3 Python-Dateutils .............................................................................................................. 3-3 Python-ntlm ..................................................................................................................... 3-4 Py4J ................................................................................................................................. 3-4 networkx.......................................................................................................................... 3-4 pycrypto ........................................................................................................................... 3-4 adodbapi .......................................................................................................................... 3-5 GitPython ......................................................................................................................... 3-5 GitDB ............................................................................................................................... 3-5 D3 .................................................................................................................................... 3-5 SLF4J ................................................................................................................................ 3-6 JSON.org .......................................................................................................................... 3-6 Install ............................................................................................................................... 6-9 Uninstall .......................................................................................................................... 6-9 Manual Installation Procedure ..................................................................................... 7-9 7.1. 7.2. Installation ...................................................................................................................... 7-10 Uninstall ......................................................................................................................... 7-11 8. Running FOQUS from an svn checkout ........................................................................8-11 9. Building a Windows installer .......................................................................................9-11 Protected under CCSI MASTER NDA-1107306 i FOQUS Installation Manual 10. Optimziation Plug-ins ............................................................................................ 10-12 11. Testing .................................................................................................................. 11-12 Protected under CCSI MASTER NDA-1107306 ii FOQUS Installation Manual 1. READ THIS FIRST Most users should not need this manual. The best way to install FOQUS is to use the FOQUS Bundle installer, which in addition to installing FOQUS, installs TurbineLite, SimSinter, and PSUADE. This installation manual provides additional information about the FOQUS installer and installation on non-windows operating systems like Linux and OS X. This manual also contains information useful to developers of FOQUS, and users wishing to build a custom installer with different versions of third-party libraries. 2. INTRODUCTION There are two methods of installation. The first method is to use the Windows installer. The installer provides FOQUS and all third- Protected under CCSI MASTER NDA-1107306 3-1 FOQUS Installation Manual 3.1. Python Package: Version: Copyright: Purpose: Homepage: Download: Description: License: Python 2.7.3 or higher (not Python 3) (32-bit recommended on Windows) Copyright (c) 2001-2013 Python Software Foundation Needed for FOQUS and the graphical interface http://python.org http://python.org/download/ Python interpreter http://docs.python.org/2/license.html 3.2. PySide Package: Version: Copyright: Purpose: Homepage: Download: Description: License: PySide 1.2.1 or higher (32-bit recommended on Windows) Copyright (C) 2013 Digia Plc and/or its subsidiaryies Provides a graphical user interface (GUI) toolkit http://qt-project.org/wiki/Category:LanguageBindings::PySide http://qt-project.org/wiki/PySide_Binaries_Windows A python interface for the Qt graphical interface library. On Windows PySide provides the Qt libraries. On other platforms such as Linux PySide and Qt may be packaged separately. LGPL version 2.1, see http://qt-project.org/wiki/About-PySide 3.3. Numpy Package: Version: Copyright: Purpose: Homepage: Download: Description: License: Numpy 1.7 or higher (32-bit recommended on Windows) Copyright (c) 2005-2013, NumPy Developers Needed for the optimization framework http://www.numpy.org/ http://sourceforge.net/projects/numpy/files/ Array processing/mathematics module for Python http://www.numpy.org/license.html 3.4. SciPy Package: Version: Copyright: Purpose: Homepage: Download: Description: License: SciPy 0.12.0 or higher (32-bit recommended on Windows) Copyright (c) 2003-2013, SciPy Developers Needed for some optimization solvers and some UQ GUI components http://www.scipy.org/ http://sourceforge.net/projects/scipy/files/ Common numerical methods for Python http://www.scipy.org/scipylib/license.html Protected under CCSI MASTER NDA-1107306 3-2 FOQUS Installation Manual 3.5. Matplotlib Package: Version: Copyright: Purpose: Homepage: Download: Description: License: Matplotlib 1.3.0 or higher (32-bit recommended on Windows) Copyright (c) 2013, Matplotlib Development Team Needed to visualize optimization and UQ results http://matplotlib.org/ http://matplotlib.org/downloads.html (Windows 32 bit) A Python plotting library http://matplotlib.org/users/license.html 3.6. pyparsing Package: Version: Copyright: Purpose: Homepage: Download: Description: License: pyparsing 2.0.1 Copyright (c) 2003-2013, Paul T. McGuire Needed by Matplotlib http://pyparsing.wikispaces.com/ http://sourceforge.net/projects/pyparsing/ For parsing expressions http://pyparsing.wikispaces.com/share/view/5698048?replyId=5724804 3.7. pywin32 (Windows only) Package: Version: Copyright: Purpose: Homepage: Download: Description: License: pywin32 Build 218 Copyright (c) 1994-2008, Mark Hammond Needed to determine short names for Window files in UQ module http://sourceforge.net/projects/pywin32/ http://sourceforge.net/projects/pywin32/files/pywin32/ Python for Windows extensions Python Software Foundation License 3.8. Python-Dateutils Package: Version: Copyright: Purpose: Homepage: Download: Description: License: Python-Dateutils 1.5 Copyright (c) 2003-2011, Gustavo Niemeyer Used by the Turbine client software and Matplotlib http://labix.org/python-dateutil http://labix.org/python-dateutil Dateutils is used by Matplotlib and the Turbine Client libraries Python Software Foundation License Protected under CCSI MASTER NDA-1107306 3-3 FOQUS Installation Manual 3.9. Python-ntlm Package: Version: Copyright: Purpose: Homepage: Download: Description: License: Python-ntlm 1.0.1 Copyright (c) 2001 Dmitry A. Rozmanov Used by the Turbine client software https://code.google.com/p/python-ntlm/ https://code.google.com/p/python-ntlm/source/checkout Python-ntlm is used for authentication features in the Turbine Client library LGPL v3 3.10. Py4J Package: Version: Copyright: Purpose: Homepage: Download: Description: License: Py4J 0.8.1 Copyright (C) 2009, Barthelemy Dagenais Used by the data management framework http://py4j.sourceforge.net/ http://py4j.sourceforge.net/download.html Allows Java objects to be used in Python BSD 3.11. networkx Package: Version: Copyright: Purpose: Homepage: Download: Description: License: networkx 1.91 Copyright (C) 2004-2012, NetworkX Developers Used by the data management framework for display dependencies https://networkx.github.io/ https://networkx.github.io/download.html Graph and Graph visualization software BSD type, https://networkx.github.io/documentation/latest/reference/legal.html 3.12. pycrypto Package: Version: Copyright: Purpose: Homepage: Download: Description: License: pycrypto 2.6.1 Mostly Public Domain, HMAC.py is Copyright Python Foundation Used by data management framework https://www.dlitz.net/software/pycrypto/ https://www.dlitz.net/software/pycrypto/ Python cryptography module. Mostly Public Domain, HMAC.py has Python License and was derived from Python 2.2 Protected under CCSI MASTER NDA-1107306 3-4 FOQUS Installation Manual 3.13. adodbapi Package: Version: Copyright: Purpose: Homepage: Download: Description: License: adodbapi 2.6.0.6 Copyright (C) 2002 Henrik Ekelund, versions 2.1 and later by Vernon Cole Direct access to TurbineLite database http://adodbapi.sourceforge.net/ http://sourceforge.net/projects/adodbapi/ Module for ADO database interface LGPL 2.1 or optionally a later version 3.14. GitPython Package: Version: Copyright: Purpose: Homepage: Download: Description: License: GitPython 1.0.1 Copyright (C) 2008, 2009 Michael Trier and contributors, 2010-2015 Sebastian Thiel For performing Git operations in DMF https://pypi.python.org/pypi/GitPython/1.0.1 https://pypi.python.org/pypi/GitPython/1.0.1 Module for interfacing with Git BSD (https://github.com/gitpython-developers/GitPython/blob/master/LICENSE) 3.15. GitDB Package: Version: Copyright: Purpose: Homepage: Download: Description: License: gitdb 0.6.4 Copyright (C) 2011, Sebastian Thiel For performing Git operations in DMF https://pypi.python.org/pypi/gitdb https://pypi.python.org/pypi/gitdb GitPython dependency BSD (https://github.com/gitpython-developers/gitdb/blob/master/LICENSE) 3.16. D3 Package: Version: Copyright: Purpose: Homepage: Download: Description: License: D3 3.5.6 Copyright (C) 2015 Mike Bostock Used by DMF to display data dependencies http://d3js.org/ http://d3js.org/ Visualization library BSD (https://github.com/mbostock/d3/blob/master/LICENSE) Protected under CCSI MASTER NDA-1107306 3-5 FOQUS Installation Manual 3.17. SLF4J Package: Version: Purpose: Homepage: Download: Description: License: slf4j 1.7.10 Logging in DMF Java code http://www.slf4j.org http://www.slf4j.org/download.html Java logging library jar MIT (http://www.slf4j.org/license.html) 3.18. JSON.org Package: Version: Purpose: Homepage: Download: Description: License: json.org 20150729 Creation and processiong of JSON data objects in Java for DMF http://www.json.org/java/index.html http://www.json.org/java/index.html Java JSON data object library Custom (http://www.json.org/license.html) 4. OPTIONAL PACKAGES The following packages are optional and may be installed before or after installing FOQUS. These generally operate as separate programs. FOQUS will function without these packages, however some feature may not work. The need for these packages depends on how you want to use FOQUS. These packages are not provided with the Windows FOQUS or FOQUS Bundle installers and must be downloaded and installed separately. 4.1. GAMS Package: Version: Purpose: Homepage: Download: Description: License: GAMS 24.1.3 (32-bit) Needed to run the heat integration http://www.gams.com/ http://www.gams.com/download/ (Windows 32 bit) The General Algebraic Modeling System (GAMS) is a high-level modeling system for mathematical programming and optimization, which consists of a language compiler and a stable of integrated high-performance solvers. The heat integration tool is modeled and implemented in GAMS. The purchase information for user licenses can be found in http://www.gams.com/sales/sales.htm. Protected under CCSI MASTER NDA-1107306 4-6 FOQUS Installation Manual 4.2. Java Package: Version: Purpose: Homepage: Download: Description: License: Java Oracle Java 8 or higher Needed to run the data management framework and iREVEAL plug-in https://www.java.com/en/ https://www.java.com/en/ http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads2133151.html (JDK 8) Java runtime environment to execute Java code. Java JDK for compilation of additional dependencies in for server based DMF. http://www.oracle.com/technetwork/java/javase/downloads/jre-6u21-license159054.txt 4.3. Apache Ant Package: Version: Purpose: Homepage: Download: Description: License: Apache Ant 1.9.6 To compile additional dependencies in the server based DMF. http://ant.apache.org/index.html http://ant.apache.org/srcdownload.cgi Java library and command line tool for building Java applications. http://www.apache.org/licenses/LICENSE-2.0.html (Apache Version 2.0) 4.4. Git Package: Version: Purpose: Homepage: Download: Description: License: Git 2.6.0 or higher Needed to run the data management framework lite https://git-scm.com/ https://git-scm.com/ Git used as a repository to store data for the DMF lite https://github.com/git/git (GPLv2) 4.5. CMA Package: Version: Copyright: Author: Purpose: Homepage: Download: Description: CMA 1.1.02 Copyright (c) 2014 Inria Nikolaus Hansen Derivative free optimization algorithm (included in FOQUS, no need to install) https://www.lri.fr/~hansen/cmaesintro.html https://www.lri.fr/~hansen/cmaes_inmatlab.html#python Python module for CMA-ES. This is the only fully functional derivative-free optimization (DFO) algorithm currently implemented. This module can be used with parallel objective function evaluation and can be restarted if optimization is interrupted or more iteration is desired. Protected under CCSI MASTER NDA-1107306 4-7 FOQUS Installation Manual License: BSD 3-Clause (included in cma.py comments) 4.6. NLopt Package: Version: Purpose: Homepage: Download: Description: License: NLopt 2.4.2 Optional DFO solvers, contains gradient methods, but not supported by FOQUS http://ab-initio.mit.edu/wiki/index.php/NLopt http://ab-initio.mit.edu/wiki/index.php/NLopt A selection of optimization solvers currently does not support parallel objective or check pointing. LGPL, some solvers have less restrictive licensing 4.7. Alfresco OpenCMIS Extension Package: Version: Purpose: Homepage: Download: Description: License: alfresco-opencmis-extensions 0.7 Used by the DMF to communicate with Alfresco https://code.google.com/a/apache-extras.org/p/alfresco-opencmis-extension/ https://code.google.com/a/apache-extras.org/p/alfresco-opencmisextension/downloads/list Java library dependency for communicating with Alfresco CMIS interface Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0) 4.8. Apache Chemistry Package: Version: Purpose: Homepage: Download: Description: License: Apache Chemistry 0.10.0 Used by the DMF to communicate with Alfresco https://chemistry.apache.org/ https://chemistry.apache.org/java/download.html Java library dependency for communicating with CMIS repositories Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0) 5. CCSI SOFTWARE DEPENDENCIES There are several other CCSI software packages that FOQUS depends upon for full functionality. The easiest way to install these is to use the FOQUS Bundle installer, which installs everything needed to run FOQUS. These packages may also be downloaded and install individually form the CCSI web site. • TurbineLite – Job queuing system from simulation jobs • SimSinter – Standard .NET interface to simulation software, and graphical interface for configuration files that define simulation inputs and outputs • PSUADE – Needed for UQ portions of FOQUS. Protected under CCSI MASTER NDA-1107306 5-8 FOQUS Installation Manual The following CCSI packages are not currently provided by the FOQUS Bundle, but provide additional surrogate model functionality to FOQUS. They can be downloaded from the CCSI website: • ALAMO – build simple algebraic surrogate models • iREVEAL – Surrogate models for CFDs 6. WINDOWS INSTALLATION PROCEEDURE This is officially supported and tested for Windows 7, 32 and 64 bit. It may also work on other versions of Windows; however it has not been fully tested. This section provides information about the FOQUS windows installer. The best way to install FOQUS is to use the FOQUS Bundle installer, which provides additional required CCSI software. 6.1. Install 1. Uninstall any previously installed version of FOQUS (see Section 4.2) 2. Download the MSI file from https://www.acceleratecarboncapture.org/drupal/product/foqus 3. In the Windows file explorer double click the installer 4. The installation will proceed without asking any questions 5. The working directory for a user is set the first time you run FOQUS. This setting is stored in $HOME/.foqus.cfg on Linux or Mac, and %APPDATA%.foqus.cfg on Windows. The working directory can be changed in the FOQUS settings, or be editing the confutation file. 6. Install optional software. 7. See Section 10 for testing the installation. The install location is generally C:\Program Files\FOQUS\foqus_version\ or C:\Program Files (x86)\FOQUS\foqus_version\ Start menu items are created for documentation and starting FOQUS. The Turbine_console menu item sets up an environment with the Turbine client scripts in the PATH for easy use. 6.2. Uninstall 1. 2. 3. 4. Open the Windows Control Panel Select programs Select uninstall a program Right click on FOQUS and select uninstall 7. MANUAL INSTALLATION PROCEDURE This procedure should work on platforms that support Python and PySide. This should work on Linux and Mac, however these platforms are not as well tested as Windows 7. The Windows MSI installer is generally the preferred install method. On Linux most of the third party Python modules are packaged by the distribution maintainers, and can be installed through the Protected under CCSI MASTER NDA-1107306 7-9 FOQUS Installation Manual distribution’s package manager. TurbineLite and SimSinter only run on Windows, so FOQUS running on non-windows platforms will either not run windows based simulators or run them on remote machines. 7.1. Installation 1. Install Python 2.7.3 (or higher in the 2.7 series) (http://python.org/download/). There are also several Python distributions that will provide most or all of the required packages (See http://www.scipy.org/install.html for a list of additional Python distributions). In Linux Python is generally available through the standard package manager. 2. Install the required packages. Download information is provided, but you will need to select the appropriate package and version for your system. For a Linux install, these packages should be available in the distributions package management system. § Install PySide version 1.2 or higher (http://qtproject.org/wiki/PySide_Binaries_Windows) § Install Numpy version 1.7 or higher (http://sourceforge.net/projects/numpy/files/) § Install SciPy version 0.12 or higher (http://sourceforge.net/projects/scipy/files/) § Install Matplotlib version 1.3 or higher (http://matplotlib.org/downloads.html) § Install pywin32 (windows only) http://sourceforge.net/projects/pywin32/files/pywin32/ § Install Python-requests § Install networkx § Install py4j § Other required third-party packages are automatically installed 3. Install FOQUS. The install may require admin or root privileges. § § Download the FOQUS source zip from https://www.acceleratecarboncapture.org/drupal/product/sim-based_optimize Extract the files to a convenient directory. § Open a terminal or command prompt Window. § At the command prompt change to the directory of the install files. § Change to the foqus subdirectory § Type “setup.py install” in Windows or “python setup.py install” in Linux. You may need to install as root in Linux or have admin privileges in Windows. The install argument is important, without it nothing will be installed. If you do not have root privileges, you may use the “setup.py install --user” command. 4. The working directory is set the first time you run FOQUS. This setting is stored in $HOME/.foqus.cfg in Linux or Mac, and %APPDATA%.foqus.cfg in windows. The working directory can be changed in the FOQUS settings. 5. Install optional software. Protected under CCSI MASTER NDA-1107306 7-10 FOQUS Installation Manual 6. See Section 10 for information about testing the install. 7.2. Uninstall The following steps can be used to uninstall FOQUS, if it was installed manually by the above procedure. You may wish to leave the Turbine Client files, if you want to uninstall FOQUS but not the Turbine Client. • Determine the directory where the python packages are installed. On a standard Windows install this would be C:\Python27\Lib\site-packages. • Go to the site packages directory. • Delete the FOQUS files and directories. o Delete foqus_* • Delete the Turbine client egg file (TurbineCient-*.egg). • Open the easy-install.pth file in WordPad (NotePad will not properly recognize the line breaks). • Delete lines for FOQUS and the Turbine Client o ./turbineclient* o ./foqus_* • In the Windows file explorer go to the Python scripts directory (Usually c:\Python27\Scripts). • Delete the file foqus.py • Delete the turbine client scripts turbine_* 8. RUNNING FOQUS FROM AN SVN CHECKOUT 1. Install Python and Modules from Section 3. Python 2.7.x is required, but newer versions of the listed modules are most likely fine. 2. Install TurbineClient a. Check the TurbineClient out from svn. b. Install using setup.py script and follow instructions provide with TurbineClient 3. Check out the FOQUS project from svn/ 4. You should now be able to run the foqus.py script without installing FOQUS. 5. (Optional) Install any optional modules from Section 4 that you need 9. BUILDING A WINDOWS INSTALLER The following section provides instructions for building Windows installer MSI file. Py2exe and WiX are used to create a windows MSI installer that does not require separate installation of third-party software. Py2exe bundles everything into a self-contained directory including the python interpreter, modules, the Turbine Client, and FOQUS. This is packaged for installation by WiX. 1. Two additional pieces of software are required to build the MSI file. Both are freely available. Protected under CCSI MASTER NDA-1107306 9-11 FOQUS Installation Manual a. Py2exe creates the exe files and bundles the required Python modules. It can be downloaded from http://www.py2exe.org/ b. WiX creates Windows installer MSI files and can be downloaded from http://wixtoolset.org/ 2. Install Python and the required modules. See the procedure in section 5.1 steps 1 and 2. 3. Run the “python setup.py wix” from the command line, in the same directory as the batch file. 4. The above step should have created an MSI called foqus_installer.msi. 10. OPTIMZIATION PLUG-INS The FOQUS working directory contains a subdirectory called user_plugins. This directory contains Python code for user provided optimization plug-ins. FOQUS will check this directory when it starts to see what optimization methods are available. If you have not set the FOQUS working directory, you should run FOQUS once and exit before installing plugins to create the directory structure, or you can create the user_plugins subdirectory yourself to add plugins before starting FOQUS the first time. At this early development stage, only the CMA-ES plug-in is fully functional. This plug-in requires a third party Python module that is made available by Nikolaus Hansen (https://www.lri.fr/~hansen/) under a BSD style license. This module is included with the FOQUS installer. If you are using an older version of FOQUS and have installed cma.py in your user_plugins directory, you should delete it. 11. TESTING This section provides a simple test procedure to see if FOQUS was installed properly. This method assumes you used the Windows MSI installer, but a similar procedure can be used to test other install methods. The Turbine Gateway installation is required to run simulations, but the FOQUS installation can be tested on some provided example problems without it. This test does not require turbine. 1. From the Windows start menu select the CCSI Tools -> FOQUS folder, and then select FOQUS. 2. The first time FOQUS start you will be asked to select a working directory. This is the directory where FOQUS will store its files. This directory should be dedicated to FOQUS, and used for nothing else. The directory selection dialog will allow you to create new directories. 3. From the FOQUS home screen select Open. 4. A file selection dialog will open. a. The example files will be in the examples folder in the location where FOQUS was installed. b. Browse to {FOQUS install location}\examples\optimization\Rosenbrock.json c. Open the Rosenbrock.json example file 5. Click the optimization icon at the top of the window. Protected under CCSI MASTER NDA-1107306 11-12 FOQUS Installation Manual 6. Click the Run tab, and push the start button 7. The optimization should complete in 10 to 40 seconds. 8. If errors occur, refer to the debugging section of the user’s manual and contact ccsisupport@acceleratecarboncapture.org. Protected under CCSI MASTER NDA-1107306 11-13
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No Warning : Invalid xref tableEXIF Metadata provided by EXIF.tools