Fortran-FOSS-Programmers / Wenoof

WENO interpolation Object Oriented Fortran library

Programming Languages

fortran
972 projects

Projects that are alternatives of or similar to Wenoof

euler2D-kfvs-Fortran2003
2D solver for Euler equations in quadrilateral grid, using kinetic flux vector splitting scheme, written in OOP F2003
Stars: ✭ 17 (-37.04%)
Mutual labels:  oop, numerical-methods
Mlinterp
Fast arbitrary dimension linear interpolation in C++
Stars: ✭ 44 (+62.96%)
Mutual labels:  numerical-methods, interpolation
FOODIE
Fortran Object-Oriented Differential-equations Integration Environment, FOODIE
Stars: ✭ 109 (+303.7%)
Mutual labels:  oop, numerical-methods
Gonum
开源Go语言数值算法库(An open numerical library purely based on Go programming language)
Stars: ✭ 128 (+374.07%)
Mutual labels:  numerical-methods, interpolation
NM
Numerical Methods (NM) for BE Electrical II Year / II Part, Email: [email protected]
Stars: ✭ 13 (-51.85%)
Mutual labels:  interpolation, numerical-methods
Cactoos
Object-Oriented Java primitives, as an alternative to Google Guava and Apache Commons
Stars: ✭ 615 (+2177.78%)
Mutual labels:  oop
Esmpy Tutorial
Basic tutorial for ESMPy Python package
Stars: ✭ 22 (-18.52%)
Mutual labels:  interpolation
Flightanimator
Advanced Natural Motion Animations, Simple Blocks Based Syntax
Stars: ✭ 588 (+2077.78%)
Mutual labels:  interpolation
Cilantro
A lean C++ library for working with point cloud data
Stars: ✭ 577 (+2037.04%)
Mutual labels:  reconstruction
Drl Theme Manager
Xcode File Template to generate theme manager for Swift 3+
Stars: ✭ 12 (-55.56%)
Mutual labels:  oop
18337
18.337 - Parallel Computing and Scientific Machine Learning
Stars: ✭ 834 (+2988.89%)
Mutual labels:  numerical-methods
Frenchkiss.js
The blazing fast lightweight internationalization (i18n) module for javascript
Stars: ✭ 776 (+2774.07%)
Mutual labels:  interpolation
All About The Gan
All About the GANs(Generative Adversarial Networks) - Summarized lists for GAN
Stars: ✭ 630 (+2233.33%)
Mutual labels:  reconstruction
Deepmri
The code for paper 'DeepcomplexMRI: Exploiting deep residual network for fast parallel MR imaging with complex convolution'
Stars: ✭ 25 (-7.41%)
Mutual labels:  reconstruction
Smile
Statistical Machine Intelligence & Learning Engine
Stars: ✭ 5,412 (+19944.44%)
Mutual labels:  interpolation
Bfgs Neldermead Trustregion
Python implementation of some numerical (optimization) methods
Stars: ✭ 8 (-70.37%)
Mutual labels:  numerical-methods
Bash Oo Framework
Bash Infinity is a modern standard library / framework / boilerplate for Bash
Stars: ✭ 5,247 (+19333.33%)
Mutual labels:  oop
Kimera Vio
Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.
Stars: ✭ 741 (+2644.44%)
Mutual labels:  reconstruction
Essa
Embeddable SCADA for Small Applications
Stars: ✭ 7 (-74.07%)
Mutual labels:  oop
Kintinuous
Real-time large scale dense visual SLAM system
Stars: ✭ 740 (+2640.74%)
Mutual labels:  reconstruction

WenOOF

GitHub tag Join the chat at https://gitter.im/Fortran-FOSS-Programmers/WenOOF

License License License License

Status Build Status Coverage Status GitHub issues

WenOOF, WENO interpolation Object Oriented Fortran library

  • WenOOF is a pure Fortran (KISS) library for computing WENO interpolations;
  • WenOOF is Fortran 2003+ standard compliant;
  • WenOOF is OOP designed;
  • WenOOF is a Free, Open Source Project.

Table of Contents

What is WenOOF?

Modern Fortran standards (2003+) have introduced support for Object Oriented Programming. Exploiting new features like Abstract Data Type (ADT) is now possible to develop a KISS library for computing Weighted Essentially Non-Oscillatory (WENO) interpolation on ADT making the development of new numerical schemes faster, easier and clearer.

What is WENO?

Starting from the original paper of Liu, Osher and Chan1 WENO interpolation schemes have gained attention mainly for solving hyperbolic partial differential equations (PDEs) whose solutions admit strong discontinuities as well complex smooth solution features. Consequently, WENO schemes are a common build-block of nonlinear, conservative finite volume methods, however they are not strictly related to the PDEs solution, they being a general, non linear interpolation (approximation) procedure.

A clear, yet brief online introduction of WENO schemes family can be found at Prof. Shu's WENO methods page hosted on scholarpedia.

Since 1994 the WENO literature has blowing up, a superficial search on sciencedirect for weno scheme resulting in more than 1500 matches. During the last 2 decades many new WENO schemes have been proposed: the efficient implementation of Jiang and Shu2, the hybrid Compact-WENO scheme of Pirozzoli3, the bandwidth-optimized WENO scheme of Martin et al.4, the WENO-Z scheme of Borges et al.5 and many others.

WenOOF is designed to provide a KISS, Object Oriented Fortran API for computing WENO interpolations accordingly the main relevant WENO schemes ever devised and with a new ones we will develop :-)

Cited references

[1] Weighted Essentially Non-oscillatory Schemes, Xu-Dong Liu, Stanley Osher, Tony Chan, JCP, 1994, vol. 115, pp. 200--212, doi:10.1006/jcph.1994.1187

[2] Efficient Implementation of Weighted ENO Schemes, Guang-Shan Jiang, Chi-Wang Shu, JCP, 1996, vol. 126, pp. 202--228, doi:10.1006/jcph.1996.0130

[3] Conservative Hybrid Compact-WENO Schemes for Shock-Turbulence Interaction, Sergio Pirozzoli, JCP, 2002, vol. 178, pp. 81--117, doi:10.1006/jcph.2002.7021

[4] A bandwidth-optimized WENO scheme for the effective direct numerical simulation of compressible turbulence, M.P. Martín, E.M. Taylor, M. Wu, V.G. Weirs, JCP, 2006, vol. 220, pp. 270--289, doi:10.1016/j.jcp.2006.05.009

[5] An improved weighted essentially non-oscillatory scheme for hyperbolic conservation laws, Rafael Borges, Monique Carmona, Bruno Costa, Wai Sun Don, JCP, 2007, vol. 227, pp. 3191--3211, doi:10.1016/j.jcp.2007.11.038

Go to Top

Main features

WenOOF is aimed to be a KISS-pure-Fortran library for computing WENO interpolation, it being:

  • [x] Pure Fortran implementation;
  • [x] KISS and user-friendly:
    • [x] simple API;
    • [ ] easy building and porting on heterogeneous architectures;
  • [ ] comprehensive:
    • [ ] central schemes;
    • [x] upwind biased schemes;
    • [ ] hybrid schemes;
  • [ ] efficient:
    • [ ] high scalability on parallel architectures:
      • [ ] support for shared memory multi/many cores architecture;
      • [ ] support for distributed memory cluster;
      • [ ] support for GPGPU/accelerators device;
  • [ ] well documented:
    • [x] clear documentation of schemes implementations;
    • [x] complete API reference;
    • [ ] comprehensive wiki:
  • [ ] collaborative developed;
  • [x] FOSS licensed;

Any feature request is welcome.

Go to Top

Copyrights

WenOOF is an open source project, it is distributed under a multi-licensing system:

Anyone is interest to use, to develop or to contribute to WenOOF is welcome, feel free to select the license that best matches your soul!

More details can be found on wiki.

Externals libraries

WenOOF uses some external libraries (placed into the external subdirectory of the root project) for the testing suite. These library maybe distributed under different licensing system with respect the WenOOF one, please refer to their own licenses.

Go to Top

Documentation

Besides this README file the WenOOF 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].