Skip to main content

Python wrapper for C++ codes for the monotone scheme for curvature-driven PDEs

Project description

Monotone schemes for curvature-driven PDEs

by Jeff Calder (UMN) and Wonjun Lee (UMN)

  • Paper: arXiv
  • Jeff Calder, School of Mathematics, University of Minnesota: website
  • Wonjun Lee, Institute for Mathematics and Its Applications, Uniersity of Minnesota: website

Introduction

This repository contains c++ and python codes for running the monotone algorithm to solve curvature-driven PDEs. Here are list of PDEs that can be solved using this algorithm. Let $\Omega = [0,1]^d$ be a domain in $\mathbb{R}^d$ and $\partial \Omega$ be a boundary of $\Omega$.

Eikonal equation

$$ \begin{align*} |\nabla u(x)| &= f(x), && x \in \Omega \ x &= 0, && x \in \partial \Omega \end{align*} $$

Mean curvature PDE

$$ \begin{align*} |\nabla u(x)|\kappa(x) &= f(x), && x \in \Omega \ x &= 0, && x \in \partial \Omega \end{align*} $$ where $\kappa(x) = - \text{div}\left( \frac{\nabla u}{|\nabla u|} \right)$ is the mean curvature of the level set surface of $u$ passing through $x$.

Affine flows PDE

$$ \begin{align*} |\nabla u(x)|\kappa(x)+^{\alpha} &= f(x), && x \in \Omega \ x &= 0, && x \in \partial \Omega \end{align*} $$ where $\alpha \in (0,1]$ is a constant depending on the dimension $d$ and $(t)+ := \max(0,t)$.

Tukey Depth

$$ \begin{align*} |\nabla u(x)| &= \int_{(y-x)\cdot \nabla u(x) = 0} \rho(y) dS(y), && x \in \Omega \ x &= 0, && x \in \partial \Omega \end{align*} $$


Tutorial

Prerequisites

  • pip
  • python >= 3.6

Follow this link to see the instruction for the installation of pip: https://pip.pypa.io/en/stable/installation/.

Installing the package

Install the package by running the following command:

    pip install monotonescheme

Running the codes

You can find the example python script files and notebook files in tests folder. The notebook files in the folder solves the following problems:

  1. Affine flows in 2D Cartesian grid.
  • tests/affine_PDE_2D.ipynb
  • tests/affine_PDE_2D.py

Alt text

  1. Tukey depth eikonal equation in 2D Cartesian grid.
  • tests/tukey_PDE_2D.ipynb
  • tests/tukey_PDE_2D.py

Alt text

  1. Motion by curvature PDE in 3D Cartesian grid.
  • tests/curvature_PDE_3D.ipynb
  • tests/curvature_PDE_3D.py

Alt text

  1. Eikonal equation and Tukey depth eikonal equation in unstructure grids
  • tests/Eikonal_PDE_graph.ipynb
  • tests/tukey_PDE_graph.ipynb
  • tests/Eikonal_PDE_graph.py
  • tests/tukey_PDE_graph.py

Alt text

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

monotonescheme-0.0.17.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

monotonescheme-0.0.17-cp36-cp36m-macosx_10_14_x86_64.whl (118.0 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

Details for the file monotonescheme-0.0.17.tar.gz.

File metadata

  • Download URL: monotonescheme-0.0.17.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.25.1 requests-toolbelt/1.0.0 urllib3/1.26.3 tqdm/4.65.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.10

File hashes

Hashes for monotonescheme-0.0.17.tar.gz
Algorithm Hash digest
SHA256 14db6f8d30a06d2e1c32eb77c0e175530a3c470e06feaf13fd8768eb88812466
MD5 44f514df2a851722a5485c79bab6f4e6
BLAKE2b-256 1fdb96ff95f7c12bc0bdecb917a2c837d1084064fa6ea0b102ce288a6ed779e8

See more details on using hashes here.

File details

Details for the file monotonescheme-0.0.17-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: monotonescheme-0.0.17-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 118.0 kB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.25.1 requests-toolbelt/1.0.0 urllib3/1.26.3 tqdm/4.65.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.10

File hashes

Hashes for monotonescheme-0.0.17-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 3d0ef22f795764d62692fc0895884dd01427e0f809c09667391ee9de1f994368
MD5 36dfd60e3a691b5a6e49ac4ee14f1f27
BLAKE2b-256 2ed5f9d18a5832ab7fe52944394f0f1d82665008202529125143adf663af9928

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page