Git Product home page Git Product logo

ppr's Introduction

PPR: Piecewise Polynomial Reconstruction

       

The PPR package is a Fortran-90 library designed to compute high-order piecewise polynomial reconstructions and conservative integral re-mappings on structured grids. These operators can be used to build high-order finite-volume / arbitrary lagrangian-eulerian ALE schemes for the solution of hyperbolic transport problems.

Various conservative polynomial reconstructions are supported, including piecewise constant PCM, linear PLM, parabolic PPM and quartic PQM types. Each interpolant can be combined with a selection of slope-limiters, including exact monotonicity-preserving and weighted essential non-oscillatory WENO-like formulations. Support is provided for both uniform and non-uniform structured grid types.

Getting Started

The PPR package is encapsulated in a single module: ppr_1d --- defining interfaces to the main reconstruction and re-mapping routines rcon1d and rmap1d. To call PPR, simply #include ../src/ppr_1d.f90 and compile with the -cpp flag.

See the example programs for additional detail.

Example cases

A set of simple example programs are provided in the ../example directory. See the various inline comments for a detailed description of PPR functionality, data-structures, etc.

ex_1.f90 ! a simple, analytical unit test
ex_2.f90 ! impose monotone slope limiting
ex_3.f90 ! a smooth profile used for convergence tests
ex_4.f90 ! multi-tracer re-mapping
ex_5.f90 ! building high-order interpolants
ex_6.f90 ! flux-form semi-lagrangian transport (in 1d)

License

This program may be freely redistributed under the condition that the copyright notices (including this entire header) are not removed, and no compensation is received through use of the software. Private, research, and institutional use is free. You may distribute modified versions of this code UNDER THE CONDITION THAT THIS CODE AND ANY MODIFICATIONS MADE TO IT IN THE SAME FILE REMAIN UNDER COPYRIGHT OF THE ORIGINAL AUTHOR, BOTH SOURCE AND OBJECT CODE ARE MADE FREELY AVAILABLE WITHOUT CHARGE, AND CLEAR NOTICE IS GIVEN OF THE MODIFICATIONS. Distribution of this code as part of a commercial system is permissible ONLY BY DIRECT ARRANGEMENT WITH THE AUTHOR. (If you are not directly supplying this code to a customer, and you are instead telling them how they can obtain it for free, then you are not required to make any arrangement with me.)

DISCLAIMER: Neither I nor: Columbia University, the National Aeronautics and Space Administration, nor the Massachusetts Institute of Technology warrant or certify this code in any way whatsoever. This code is provided "as-is" to be used at your own risk.

ppr's People

Contributors

dengwirda avatar mark-petersen 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.