A Julia package implementing the zipper algorithm for numerical conformal maps
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
images
src
test
.travis.yml
LICENSE.md
README.md
REQUIRE

README.md

ConformalMaps.jl

ConformalMaps is a package for approximating the Riemann map from a simply connected planar domain to a disk. It uses the zipper algorithm as described in Convergence of the zipper algorithm for conformal mapping by Don Marshall and Steffen Rohde.

The domain (approximated by a polygon) is specified as an array which lists the vertices of the domain in counterclockwise order. A conformal map from domain to the unit disk which maps center to the origin is initialized as ConformalMap(domain,center). The keyword argument pointspacing=ϵ inserts equally spaced points along each side of the polygon so that the spacing between consecutive points is everywhere less than ϵ. Smaller values of ϵ give greater accuracy but require longer to compute. The default value is 1% of the diameter of the domain.

using AsyPlots, ConformalMaps
vertices = [1.0  0.0;
            0.0  1.0;
           -1.0  0.0;
            0.0 -1.0]
f = ConformalMap(vertices,0.0)

f supports function call syntax: f(0.1im)

The inverse of f is obtained as inv(f) and is of type InverseConformalMap.

If AsyPlots is installed, then visualize may be used to display the images of a hyperbolic tiling of the disk (if called on an InverseConformalMap) or grid lines (if called on a ConformalMap).

g = inv(f)
visualize(g) 

Conformal map

visualize returns a ConformalMapVisualization object, whose fields domain and range contain AsyPlots.Plot2D objects. combine returns a single plot with the domain and the range

Build Status