Metadata-Version: 2.1
Name: parsim
Version: 2.1.0
Summary: A tool for working with parameterized simulation models
Home-page: https://gitlab.com/olwi/psm
Author: Ola Widlund
Author-email: ola.widlund@ri.se
License: GPLv3
Description: Introduction
        ============
        
        Parsim is a tool for working with parameterized simulation models.
        The primary objective is to facilitate quality assurance of simulation projects.
        The tool supports a scripted and automated workflow, where verified and validated simulation models
        are parameterized, so that they can be altered/modified in well-defined ways and reused with minimal user invention.
        All events are logged on several levels, to support traceability, project documentation and quality control.
        
        Parsim provides basic functionality for generating studies based on common design-of experiments
        (DOE) methods, for example using factorial designs, response surface methods or random sampling,
        like Monte Carlo or Latin Hypercube.
        
        Parsim can also be used as an interface to the `Dakota <https://dakota.sandia.gov>`_ library;
        Dakota is run as a subprocess, generating cases from a Parsim model template.
        
        How it works
        ============
        
        Once a prototype simulation case has been developed, a corresponding simulation
        *model template* is created by collecting all simulation input files, data
        files and scripts into a *template directory*. The text files in a model
        template can then be parameterized by replacing numerical values, or text
        strings with macro names. Parsim uses the pyexpander macro processing library, which
        supports embedding of arbitrarly complex Python code in the template files.
        This can be used for advanced parameterization needs, for example to compute data
        tables from functions, generate graphs for reports, generate content in loops or
        conditionals, etc.
        
        When a simulation case is created, the model template directory is recursively
        replicated to create a *case directory*. Parsim operations can also be carried
        out on a *study*, containing multiple cases. A study is a directory containing
        multiple case directories.
        
        You operate on your cases (either individually or on all cases of a study at once)
        by executing scripts written to perform specific tasks, e.g.
        meshing operations, starting a simulation, or post-processing of results.
        
        Your simulation project lives in a Parsim *project directory*, which holds all
        cases and studies of the project. The project directory holds Parsim
        configuration settings and logs project events, like creation of cases and
        studies, serious errors, change of configuration settings, etc.
        
        Summary of features:
        
        * Flexible and full-featured support for parameterization of text-based simulation models.
        * Cases and parameter studies kept together in projects.
        * Scripted workflow can be applied to individual cases as well as to large parameter studies.
        * Logging and error handling, for traceability and project documentation.
        * Python API can be conveniently used for post-processing and analysis, with input parameters
          and output available as pandas DataFrames.
        * Support for many common design-of-experiments (DOE) methods.
        * Can be used as an interface to the Dakota library, for complex uncertainty quantification and optimization tasks.
        * Based on Python (as of version 2.0 Python3 only).
        * One simple workflow for any kind of simulation application.
        * Platform independent: Works in both Linux, Windows and MacOS environments.
        * Simple installation from public Python repositories (install with pip, in any Python installation).
        * Available under open-source license (GNU Public License v. 3)
        
        
        Installation
        ============
        
        Parsim is available at the `PyPI, the Python Package Index <https://pypi.python.org/pypi>`_.
        It is installed in your ordinary Python environment using the pip installer.
        
        The Parsim installation requires and automatically installs the
        Python library `pyexpander <http://pyexpander.sourceforge.net>`_,
        which is used for macro and parameter expansion (parameterization of input files).
        The DOE (Design of Experiments) functionality is provided by the `pyDOE2 <https://github.com/clicumu/pyDOE2>`_,
        numpy and scipy libraries. The pandas library has also been included, so that the Python API can
        provide results and caselist data as pandas DataFrames.
        
        It is recommended to first make a clean and fully functional installation
        of the NumPy, SciPy and pandas libraries.
        The best way to do this depends on which Python distribution you use.
        The `anaconda Python distribution <https://www.continuum.io/downloads>`_
        is highly recommended. It works well on both Windows and Linux.
        In an anaconda distribution, you simply install the conda packages for NumPy, SciPy and pandas.
        They are usually installed by default. Otherwise use the conda package manager: ::
        
            conda install numpy scipy pandas
        
        Then use `pip` to install parsim:
        
            pip install parsim
        
        This will install also the `pyexpander <http://pyexpander.sourceforge.net>`_
        and `pyDOE2 <https://github.com/clicumu/pyDOE2>`_ packages, which in turn will check for NumPy and SciPy.
        
        Documentation
        =============
        
        The Parsim documentation is hosted at `ReadTheDocs <https://parsim.readthedocs.io>`_.
        
        Author
        ======
        
        Parsim was developed by `Ola Widlund <https://www.ri.se/en/ola-widlund>`_,
        `RISE Research Institutes of Sweden <https://www.ri.se/en>`_, to
        provide basic and generic functionality for uncertainty quantification
        and quality assurance of parameterized simulation models.
        
        Licensing
        =========
        
        Parsim is licensed under the GNU Public License, GPL, version 3 or later.
        Copyright belongs to `RISE Research Institutes of Sweden AB <https://www.ri.se/en>`_.
        
        Source code and reporting of issues
        ===================================
        
        The source code is hosted at `GitLab.com <https://gitlab.com/olwi/psm>`_.
        Here you can also report issues and suggest improvements.
        
Keywords: simulation,numerical modeling,doe,design of experiments,sampling,dakota,quality assurance,qa,uq,uncertainty quantification,parameterization,parameterized models
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Manufacturing
Classifier: Topic :: Scientific/Engineering
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Requires-Python: >=3
Description-Content-Type: text/x-rst
Provides-Extra: dev
Provides-Extra: doc
