# \[ANN\] SurfaceTopology.jl, LaplaceBIE.jl and ElTopo.jl

**URL:** <https://discourse.julialang.org/t/ann-surfacetopology-jl-laplacebie-jl-and-eltopo-jl/28233>\
**Category:** Package Announcements\
**Created:** [August 31, 2019, 10:23am UTC](https://discourse.julialang.org/t/ann-surfacetopology-jl-laplacebie-jl-and-eltopo-jl/28233 "2019-08-31T10:23:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Janis\_Erdmanis](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/janis_erdmanis/32/10869_2.png) [@Janis\_Erdmanis](https://discourse.julialang.org/u/Janis_Erdmanis)\
**Post date:** [August 31, 2019, 10:23am UTC](https://discourse.julialang.org/t/ann-surfacetopology-jl-laplacebie-jl-and-eltopo-jl/28233/1 "2019-08-31T10:23:28Z")

</div>

During my last Master year, I worked on the simulation of a magnetic liquid droplet in a fast rotating field where experimentally star instability was observed. During this project, I had to find a way to calculate surface magnetic field values which makes up a force deforming a droplet, and I had to find a way to keep the triangular mesh in a good quality during its shape deformations. The project was successful, and now I present three packages [SurfaceTopology.jl](https://github.com/akels/SurfaceTopology.jl), [LaplaceBIE.jl](https://github.com/akels/LaplaceBIE.jl), [ElTopo.jl](https://github.com/akels/ElTopo.jl) which should help to build uppon the success we had.

> Erdmanis, J. & Kitenbergs, G. & Perzynski, R. & Cebers, A. (2017) Magnetic micro-droplet in rotating field: numerical simulation and comparison with experiment

One of the annoying things implementing a boundary integral solver like one found in `LaplaceBIE.jl` is that one needs to query mesh topology about the surrounding vertices of a given vertex. Putting in such kind of routine things makes code obscure and fails at the principle of reusability. This is where package `SurfaceTopology.jl` shines by providing iterator and circulator types for common triangular mesh data structures.

The package `LaplaceBIE.jl` implements a boundary integral solver for the Laplace equation for arbitrary source with a jump boundary condition for a normal derivative. Such formulations appear for dielectric (ferromagnetic) bodies in an electric (magnetic) field, where one wants to calculate the exerted force. That may deform the shape of the body or attract it to the source which could be a point charge, a magnet, current loop and etc. as long as one has an unperturbed solution.

And the last of the packages I want to announce is `ElTopo.jl`. A wrapper package for tracking dynamic surfaces represented as triangle meshes. In this case, the animation is more valuable than words:

[Enright.gif](http://janiserdmanis.org/ElTopo.jl/dev/enright.gif)

At the moment the package works only on Linux as I could not figure out how to resolve compilation issues on MacOS and `__gxx_personality_v0` issue on Windows. Thus, for now, it needs to be installed from git repository. Ideas and suggestions welcome.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [August 31, 2019, 5:53pm UTC](https://discourse.julialang.org/t/ann-surfacetopology-jl-laplacebie-jl-and-eltopo-jl/28233/2 "2019-08-31T17:53:34Z")

</div>

Very cool!
