szaghi / FORESEER

FOrtran RiEmann SolveErs EnviRonment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FORESEER GitHub tag Join the chat at https://gitter.im/szaghi/FORESEER

License License License License

Status Build Status Coverage Status

FORESEER, FOrtran RiEmann SolvErs EnviRonment

A KISS pure Fortran Library providing a large set of Riemann Solvers:

  • FORESEER is a pure Fortran (KISS) library for solving Riemann problems (1D);
  • FORESEER is Fortran 2008+ standard compliant;
  • FORESEER is OOP designed;
  • FORESEER is TDD developed;
  • FORESEER is a Free, Open Source Project.

A taste of FORESEER

use foreseer
type(eos_compressible)                 :: eos            ! Equation of state.
type(conservative_compressible)        :: state_left     ! Left state.
type(conservative_compressible)        :: state_right    ! Right state.
type(conservative_compressible)        :: fluxes         ! Conservative fluxes.
class(riemann_solver_compressible_llf) :: riemann_solver ! Riemman Problem solver.

! air
eos = eos_compressible(cp=1040.004_R8P, cv=742.86_R8P)

! SOD's Riemann Problem
state_left  = conservative_compressible(density=1._R8P,                          &
                                        energy=1._R8P*eos%energy(density=1._R8P, &
                                                                 pressure=1._R8P))
state_right = conservative_compressible(density=0.125_R8P,                             &
                                        energy=0.125_R8P*eos%energy(density=0.125_R8P, &
                                                                    pressure=0.1_R8P))

! solve Riemann Problem
call riemann_solver%solve(eos_left=eos, state_left=state_left,               &
                          eos_right=eos, state_right=state_right, normal=ex, &
                          fluxes=fluxes)

! print results
print '(A)', 'Fluxes at interface:'
print '(A)', fluxes%description(prefix='  ')

Issues

GitHub issues Ready in backlog In Progress Open bugs

Compiler Support

Compiler Compiler Compiler Compiler Compiler Compiler


What is FORESEER? | Main features | Copyrights | Download | Compilation | Documentation | References


What is FORESEER?

FORESEER is a modern Fortran library providing a large set of Riemann Solvers.

To be completed.

How to use

To be written.

Go to Top

Main features

To be written.

Any feature request is welcome.

Go to Top

Copyrights

FORESEER is a Free and Open Source Software (FOSS), it is distributed under a very permissive multi-licensing system: selectable licenses are GPLv3, BSD2-Clause, BSD3-Clause and MIT, feel free to select the license that best matches your workflow.

Anyone is interest to use, to develop or to contribute to FORESEER is welcome.

More details can be found on wiki.

Go to Top

Download

To be written.

Go to Top

Compilation

To be written.

Documentation

Besides this README file the FORESEER documentation is contained into its own wiki. Detailed documentation of the API is contained into the GitHub Pages that can also be created locally by means of ford tool.

Go to Top

About

FOrtran RiEmann SolveErs EnviRonment


Languages

Language:Fortran 97.4%Language:Shell 2.6%