GithubHelp home page GithubHelp logo

kfricilone / hydra Goto Github PK

View Code? Open in Web Editor NEW

This project forked from giorgidze/hydra

0.0 1.0 0.0 192 KB

Functional hybrid modelling (FHM) language for modelling and simulation of physical systems using implicitly formulated (undirected) Differential Algebraic Equations (DAEs)

License: BSD 3-Clause "New" or "Revised" License

Haskell 94.79% Makefile 0.47% C 4.74%

hydra's Introduction

What is Hydra?
--------------

Hydra is a high level, declarative language for modelling and simulation of
physical systems. Systems in Hydra are being modelled using implicitly
formulated (undirected) Differential Algebraic Equations (DAEs). While,
physical modelling is our main focus any domain is fine where problems can be
formulated using DAEs.

The language provides constructs for definition and composition of model
fragments that enable modelling and simulation of large, complex, hybrid and
highly structurally dynamic systems.

The first outline of Hydra was given by Nilsson et al. in the framework called
Functional Hybrid Modelling (FHM). Subsequently, a number of papers has been
published about the design and implementation of Hydra that can be accessed on
the following web pages:

* http://www.cs.nott.ac.uk/~ggg/

* http://www.cs.nott.ac.uk/~nhn/


The implementation of Hydra
---------------------------

Currently, Hydra is implemented as a domain specific language embedded in
Haskell. Hydra is still in active development.


How to get Hydra
----------------

The latest development version of Hydra can be obtained from its darcs
repository by issuing the following command:

> darcs get http://patch-tag.com/r/Hydra/pullrepo Hydra

You can also browse the sources in your browser:
http://patch-tag.com/r/Hydra/snapshot/current/content/pretty


How to install Hydra
--------------------

In order to install Hydra you need to have GHC (http://www.haskell.org/ghc/)
version 6.10 (or later) available on your system. In addition, you need LLVM
(http://llvm.org/) version 2.6.

The implementation of Hydra is packaged using Cabal. So it should be straight
forward to install. Simply issue the following commands in the directory that
you have just obtained using darcs:

> runhaskell Setup.hs configure
> runhaskell Setup.hs build
> runhaskell Setup.hs install

If you have cabal-install tool available on your system there is an even
simpler way. Simply issue the following command in the directory of Hydra:

> cabal install


How to use Hydra
----------------

Currently, there is no documentation provided, only examples, I am
afraid. There are also research papers (see above) that I recommend to read if
you are interested. In any case, you are very welcome to contact me.

Cheers, George Giorgidze
Email: ggg (at) cs.nott.ac.uk

hydra's People

Contributors

giorgidze avatar

Watchers

James Cloos 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.