Skip to main content

A framework for performing forward and derivative analyses for systems following directed acylic graph structure.

Project description

Build and deploy webpage Lint Run Unittests

Flume

Flume is an open-source framework for multidisciplinary analysis and adjoint evaluations based on directed acyclic graphs. It is intended to be a lightweight framework that affords users with a degree of flexibility in implementing their own analysis and optimization procedures while providing a common underlying structure. Flume also has a set of interfaces between some common optimizers, which allow the user to easily set up an optimization problem that corresponds to their specific needs.

Getting Started

For new users, the documentation for Flume can be found here. It is recommended first that you read the Flume overview section, which outlines in detail the critical aspects of the framework in context of an example. This discusses the nomenclature that is used within the framework and illustrates how to construct State, Analysis, and System objects for use with a Flume interface. Also, for a review of other useful methods that are included for Analysis classes, check out the methods demonstration. The examples gallery also includes several different types of problems, which showcase the construction of many types of Analysis classes, the assembly of a System, and how to interface with an optimizer interface.

Installation

To install Flume, the only necessary dependencies are a working version of Python that is at least version 3.10 and Graphviz. For Graphviz, check out the installation instructions located here depending on your machine type. It is generally encouraged that you use a Python virtual environment. If you do not have a virtual environment already, navigate to the directory where you want to use Flume and execute the following.

python -m venv venv
source venv/bin/activate

Then, with the virtual environment activated, simply install the package from PyPi with

pip install flume-smdo

This will install the base classes, optimizer interfaces, and utilities into a Python package named "flume". For those who want to make changes to the code or access the unit tests and examples, you can also clone the repository and then install in editable mode.

cd {your_chosen_git_directory}
git clone https://github.com/smdogroup/flume.git
cd flume
python -m venv venv
source venv/bin/activate
pip install -e .

After following either of these processes, you should be able to access the base classes and get started with developing your own scripts within the framework! It should be noted that ParOpt and pyOptSparse are separate packages that are not included with Flume during the build process. For those who want to utilize these interface, we refer you to the ParOpt installation instructions and the pyOptSparse repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flume_smdo-1.0.6.tar.gz (65.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flume_smdo-1.0.6-py3-none-any.whl (90.6 kB view details)

Uploaded Python 3

File details

Details for the file flume_smdo-1.0.6.tar.gz.

File metadata

  • Download URL: flume_smdo-1.0.6.tar.gz
  • Upload date:
  • Size: 65.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for flume_smdo-1.0.6.tar.gz
Algorithm Hash digest
SHA256 317999fdbf6812ed685bc0e5ec1b5eb3718826a65e7fcf0ff0d498698268fb22
MD5 c0de9caf9e1d704fd2872922bfbb3ecc
BLAKE2b-256 4b99a4772cf9093b8109746c90753476dd71d242885846a89ea3b4a6c0c739aa

See more details on using hashes here.

File details

Details for the file flume_smdo-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: flume_smdo-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 90.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for flume_smdo-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 15adcc6bf20d8e288bb173a90ca2e5d97e2d5fdc8bbd5b818cb76b8f9cdd981e
MD5 9888181dacc2387d1e7274351ef2e9f2
BLAKE2b-256 d740c31baee209386b0c465153367f4664b09fb510ae8ac59a74ebdd4c24ae20

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page