Skip to main content

SROMPy - Stochastic Reduced Order Models with Python

Coverage Status Coverage Status

General

Python module for generating Stochastic Reduced Order Models (SROMs) and applying them for uncertainty quantification problems. See documentation in docs/ directory for details.

Dependencies

SROMPy is intended for use with Python 2.7 and relies on the following packages:

  • numpy
  • scipy
  • matplotlib
  • mpi4py (optional for running in parallel)
  • pytest (optional if the testing suite is to be run)

Example Usage

from SROMPy.postprocess import Postprocessor
from SROMPy.srom import SROM
from SROMPy.target import NormalRandomVariable

#Initialize Normal random variable object to be modeled by SROM:
normal = NormalRandomVariable(mean=3., std_dev=1.5)

#Initialize SROM & optimize to model the normal random variable:
srom = SROM(size=10, dim=1)
srom.optimize(normal)

#Compare the CDF of the SROM & target normal variable:
post_processor = Postprocessor(srom, normal)
post_processor.compare_CDFs()

The above code snippet produces the following CDF comparison plot:

CDF comparison

Getting Started

The best way to get started with SROMPy is to take a look at the scripts in the examples/ directory. A simple example of propagating uncertainty through a spring mass system can be found in the examples/spring_mass/, while the examples/phm18/ directory contains scripts necessary to reproduce the results in the following conference paper on probabilistic prognostics: https://www.phmpapers.org/index.php/phmconf/article/view/551. For more information, see the source code documentation in docs/SROMPy_doc.pdf (a work in progress) or the technical report below that accompanied the release of SROMPy.

Tests

The tests can be performed by running "py.test" from the tests/ directory to ensure a proper installation.

Reference

If you use SROMPy for your research, please cite the technical report:

Warner, J. E. (2018). Stochastic reduced order models with Python (SROMPy). NASA/TM-2018-219824.

The report can be found in the docs/references directory. Thanks!

Developers

UQ Center of Excellence
NASA Langley Research Center
Hampton, Virginia

This software was funded by and developed under the High Performance Computing Incubator (HPCI) at NASA Langley Research Center.

Contributors: James Warner (james.e.warner@nasa.gov), Luke Morrill, Juan Barrientos

License

Copyright 2018 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. No copyright is claimed in the United States under Title 17, U.S. Code. All Other Rights Reserved.

The Stochastic Reduced Order Models with Python (SROMPy) platform is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Release files for SROMPy 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for SROMPy 0.1.0
File Size Uploaded
SROMPy-0.1.0.tar.gz 28.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for SROMPy 0.1.0
File Interpreter ABI Platform
SROMPy-0.1.0-py2-none-any.whl Python 2 none any Details

Total release size: 82.5 kB

Release files / SROMPy-0.1.0.tar.gz

Download URL SROMPy-0.1.0.tar.gz
Size 28.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7d7ac25f8b4bf4853fcc6e53473d70997a570219005794752bccb321ae9a88a2
BLAKE2b-256 checksum
How to use checksums
e6024a39b28f9770752f34ad54bc37001b7b3f9538d8559999e45f03ec976a0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.10

Release files / SROMPy-0.1.0-py2-none-any.whl

Download URL SROMPy-0.1.0-py2-none-any.whl
Size 53.6 kB
Tags Python 2
SHA-256 checksum
How to use checksums
0a2463127fd6a98e3af1de00c675e6bc92ed7e09a968b3cf57f84dc533395dec
BLAKE2b-256 checksum
How to use checksums
5101058f4999143be3b18edc41190300a428f8ded8e277ab2be1a471d41c331b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.10

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page