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

$$ |\nabla u(x)| = f(x),\quad x \in \Omega $$

$$ u(x) = 0,\quad x \in \partial \Omega $$

Mean curvature PDE

$$|\nabla u(x)|\kappa(x) = f(x),\quad x \in \Omega $$

$$ u(x) = 0,\quad x \in \partial \Omega $$

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

$$|\nabla u(x)|\kappa(x)_+^{\alpha} = f(x),\quad x \in \Omega $$

$$u(x) = 0,\quad x \in \partial \Omega $$

where $\alpha \in (0,1]$ is a constant depending on the dimension $d$ and $(t)_+ := \max(0,t)$.

Tukey Depth

$$ |\nabla u(x)| = \int_{(y-x)\cdot \nabla u(x) = 0} \rho(y) dS(y),\quad x \in \Omega $$

$$ u(x) = 0,\quad x \in \partial \Omega $$


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.18.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

monotonescheme-0.0.18-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.18.tar.gz.

File metadata

  • Download URL: monotonescheme-0.0.18.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.18.tar.gz
Algorithm Hash digest
SHA256 022e622e7578a9b7e738aa43c950cd4f005ee2acbce524efac4f235e0ab116bc
MD5 d6b62aed7632dbd9146f7de6896d02a5
BLAKE2b-256 da234353322fd3785f8dff720592d47be6f8c93c841c34508290d242c0e5f45d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: monotonescheme-0.0.18-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.18-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 098eea551a1be5548056829f5f00cfef77c8d2d5903958d0c2da603aa10c5e1d
MD5 121e2e26a7f90dc13cd2d66aa7ad8578
BLAKE2b-256 6851578b9ef694f3a4eda1bbadb8f14fbdd8fc25292fa1df3fea1f48034a357a

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