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:
- Affine flows in 2D Cartesian grid.
- tests/affine_PDE_2D.ipynb
- tests/affine_PDE_2D.py
- Tukey depth eikonal equation in 2D Cartesian grid.
- tests/tukey_PDE_2D.ipynb
- tests/tukey_PDE_2D.py
- Motion by curvature PDE in 3D Cartesian grid.
- tests/curvature_PDE_3D.ipynb
- tests/curvature_PDE_3D.py
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14db6f8d30a06d2e1c32eb77c0e175530a3c470e06feaf13fd8768eb88812466 |
|
MD5 | 44f514df2a851722a5485c79bab6f4e6 |
|
BLAKE2b-256 | 1fdb96ff95f7c12bc0bdecb917a2c837d1084064fa6ea0b102ce288a6ed779e8 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d0ef22f795764d62692fc0895884dd01427e0f809c09667391ee9de1f994368 |
|
MD5 | 36dfd60e3a691b5a6e49ac4ee14f1f27 |
|
BLAKE2b-256 | 2ed5f9d18a5832ab7fe52944394f0f1d82665008202529125143adf663af9928 |