Code Monkey home page Code Monkey logo

gasmodels.jl's Introduction

GasModels.jl

GasModels logo

Release:

Dev: Build Status codecov

GasModels.jl is a Julia/JuMP package for Steady-State Gas Network Optimization. It is designed to enable computational evaluation of emerging Gas network formulations and algorithms in a common platform. The code is engineered to decouple problem specifications (e.g. Gas Flow, Expansion planning, ...) from the gas network formulations (e.g. DWP, CRDWP, ...). This enables the definition of a wide variety of gas network formulations and their comparison on common problem specifications.

Core Problem Specifications

  • Gas Flow (gf)
  • Expansion Planning (ne)
  • Load Shed (ls)

Core Network Formulations

  • DWP
  • WP
  • CRDWP
  • LRDWP
  • LRWP

Basic Usage

Once GasModels is installed, a optimizer is installed, and a network data file has been acquired, a Gas Flow can be executed with,

using GasModels
using <solver_package>

run_gf("foo.m", FooGasModel, FooSolver())

Similarly, an expansion optimizer can be executed with,

run_ne("foo.m", FooGasModel, FooSolver())

where FooGasModel is the implementation of the mathematical program of the Gas equations you plan to use (i.e. DWPGasModel) 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 Russell Bent, with significant contributions from Conrado Borraz-Sanchez, Hassan Hijazi, and Pascal van Hentenryck.

Special thanks to Miles Lubin for his assistance in integrating with Julia/JuMP.

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.

gasmodels.jl's People

Contributors

rb004f avatar kaarthiksundar avatar tasseff avatar pseudocubic avatar ccoffrin avatar jwernicke avatar 3ch01c avatar juliatagbot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.