Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lanl-ansi/petroleummodels.jl
A Julia/JuMP Package for Petroleum Network Optimization
https://github.com/lanl-ansi/petroleummodels.jl
optimization petroleum
Last synced: about 1 month ago
JSON representation
A Julia/JuMP Package for Petroleum Network Optimization
- Host: GitHub
- URL: https://github.com/lanl-ansi/petroleummodels.jl
- Owner: lanl-ansi
- License: other
- Created: 2020-03-24T20:21:09.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-02-17T22:41:49.000Z (almost 4 years ago)
- Last Synced: 2024-10-28T05:36:48.107Z (about 2 months ago)
- Topics: optimization, petroleum
- Language: Julia
- Homepage: https://lanl-ansi.github.io/PetroleumModels.jl/latest/
- Size: 511 KB
- Stars: 3
- Watchers: 5
- Forks: 1
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# PetroleumModels.jl
Release: [![](https://img.shields.io/badge/docs-stable-blue.svg)](https://lanl-ansi.github.io/PetroleumModels.jl/stable)
Dev:
[![Build Status](https://travis-ci.org/lanl-ansi/PetroleumModels.jl.svg?branch=master)](https://travis-ci.org/lanl-ansi/PetroleumModels.jl)
[![codecov](https://codecov.io/gh/lanl-ansi/PetroleumModels.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/lanl-ansi/PetroleumModels.jl)
[![](https://img.shields.io/badge/docs-latest-blue.svg)](https://lanl-ansi.github.io/PetroleumModels.jl/dev)PetroleumModels.jl is a Julia/JuMP package for Steady-State Petroleum (petroleum products) Network Optimization.
It is designed to optimize the operations of existing single liquid commodity pipeline systems subject to physical flow and pump engineering constraints. The code is engineered to decouple problem specifications from the network formulations. This enables the definition of a variety of liquid network formulations and their comparison on common problem specifications.**Core Problem Specifications**
* Optimal Petro Flow (opf)
**Core Network Formulations**
* LP
## Basic Usage
Once PetroleumModels is installed, a optimizer is installed, and a network data file has been acquired, a Petro Flow can be executed with,
```
using PetroleumModels
usingrun_opf("foo.m", FooPetroleumModel, FooSolver())
```Similarly, an expansion optimizer can be executed with,
```
run_ne("foo.m", FooPetroleumModel, FooSolver())
```where FooPetroleumModel is the implementation of the mathematical program of the Petroleum equations you plan to use (i.e. ) and FooSolver is the JuMP optimizer you want to use to solve the optimization problem (i.e. IpoptSolver).
## Acknowledgments
This code has been developed as part of the Advanced Network Science Initiative at Los Alamos National Laboratory.
The primary developer is Elena Khlebnikova, with significant contributions from Kaarthik Sundar and Russell Bent.## License
This code is provided under a BSD license as part of the Multi-Infrastructure Control and Optimization Toolkit (MICOT) project, LA-CC-13-108.