From c3e0fbd60b3525ee542131860524da67365386aa Mon Sep 17 00:00:00 2001 From: Daniel VandenHeuvel <95613936+DanielVandH@users.noreply.github.com> Date: Wed, 25 Sep 2024 09:17:23 +0100 Subject: [PATCH] Reword --- paper/paper.bib | 7 +++++++ paper/paper.md | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/paper/paper.bib b/paper/paper.bib index 19b4a3584..74e11f453 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -35,6 +35,13 @@ @phdthesis{bobach2009natural school={Technische Universit{\"a}t Kaiserslautern}, } +@phdthesis{li2019first, + title={First passage times of diffusion processes and their applications to finance}, + author={Luting Li}, + year={2019}, + school={London School of Economics and Political Science}, +} + @phdthesis{gosselin2009delaunay, title = {Delaunay refinement mesh generation of curve-bounded domains}, author = {Serge Gosselin}, diff --git a/paper/paper.md b/paper/paper.md index eeb88cd5f..4a55c243d 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -23,7 +23,7 @@ bibliography: paper.bib DelaunayTriangulation.jl is a feature-rich Julia [@bezanson2017julia] package for computing Delaunay triangulations and Voronoi tessellations. The package, amongst many other features, supports unconstrained and constrained triangulations, mesh refinement, clipped and centroidal Voronoi tessellations, power diagrams, and dynamic updates. Thanks to the speed and genericity of Julia, the package is both performant and robust---making use of [AdaptivePredicates.jl](https://github.com/JuliaGeometry/AdaptivePredicates.jl) [@churavy2024adaptive; @shewchuk1997adaptive] and [ExactPredicates.jl](https://github.com/lairez/ExactPredicates.jl) [@lairez2024exact] for computing predicates with robust arithmetic---while still allowing for generic representations of geometric primitives. -Given a set of points $\mathcal P$, edges $\mathcal E$, and piecewise linear boundaries $\mathcal B$ together defining some domain $\Omega$, a _Delaunay triangulation_ is a subdivision of this domain into triangles. The vertices of the triangles come from $\mathcal P$, and each of the edges in $\mathcal E$ and $\mathcal B$ are present as an edge of some triangle [@cheng2013delaunay; @aurenhammer2013voronoi]. The boundaries $\mathcal B$ may also be given as parametric curves, in which case they are discretised until they accurately approximate the curved boundary [@gosselin2009delaunay]. A related geometric structure is the _Voronoi tessellation_ that partitions the plane into convex polygons for each $p \in \mathcal P$ such that, for a given polygon, each point in that polygon is closer to the associated polygon's point than to any other $q \in \mathcal P$ [@cheng2013delaunay; @aurenhammer2013voronoi]. Weighted triangulations and power diagrams are generalisations of these structures that allow for the inclusion of weights associated with the points [@cheng2013delaunay]. +Given a set of points $\mathcal P$, edges $\mathcal E$, and piecewise linear boundaries $\mathcal B$ together defining some domain $\Omega$, a _Delaunay triangulation_ is a subdivision of this domain into triangles. The vertices of the triangles come from $\mathcal P$, and each of the edges in $\mathcal E$ and $\mathcal B$ are present as an edge of some triangle [@cheng2013delaunay; @aurenhammer2013voronoi]. The boundaries $\mathcal B$ may also be given as parametric curves, in which case they are discretised until they accurately approximate the curved boundary [@gosselin2009delaunay]. A related geometric structure is the _Voronoi tessellation_ that partitions the plane into convex polygons for each $p \in \mathcal P$ such that, for a given polygon, each point in that polygon is closer to the associated polygon's point than to any other $q \in \mathcal P$ [@cheng2013delaunay; @aurenhammer2013voronoi]. Weighted triangulations and power diagrams are generalisations of these structures that allow for the inclusion of weights associated with the points [@cheng2013delaunay]. A more detailed description of these mathematical details can be found in the package's [documentation](https://juliageometry.github.io/DelaunayTriangulation.jl/stable/math/overview/). # Statement of Need @@ -38,7 +38,7 @@ DelaunayTriangulation.jl has already seen use in several areas. DelaunayTriangul We give one example of how the package can be used, focusing on Delaunay triangulations rather than Voronoi tessellations. Many more examples are given in the [documentation](https://juliageometry.github.io/DelaunayTriangulation.jl/stable/), including [tutorials](https://juliageometry.github.io/DelaunayTriangulation.jl/stable/tutorials/overview/) and [fully detailed applications](https://juliageometry.github.io/DelaunayTriangulation.jl/stable/applications/overview/) such as cell simulations. To fully demonstrate the utility of the package, we consider a realistic application. We omit code used for plotting with Makie.jl [@danisch2021makie] in the example below for space reasons. The complete code is available [here](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/blob/paper/paper/paper.jl). -We consider a domain motivated by mean exit time. In particular, consider the problem +We consider a domain motivated by mean exit time, relating to the time taken for a particle to reach a certain target, with applications to areas such as diffusive transport [@carr2022mean] and economics [@li2019first]. For example, mean exit time can be used to describe the expected time for a stock to reach a certain threshold [@li2019first; @redner2001guide]. Denoting the mean exit time of a particle at a point $(x, y)$ by $T(x, y)$, one model describing the mean exit time of a particle existing $\Omega$ with diffusivity $D$ starting at $(x, y)$ is give by [@redner2001guide; @carr2022mean] $$ \begin{array}{rcll} D\nabla^2 T(x, y) & = & -1 & (x, y) \in \Omega, \\ @@ -47,7 +47,7 @@ T(x, y) & = & 0 & (x, y) = (x_s, y_s), \\ \nabla T(x, y) \cdot \hat{\boldsymbol n}(x, y) & = & 0 & (x, y) \in \Gamma_r. \end{array} $$ -Here, $T(x, y)$ denotes the mean exit time of a particle exiting $\Omega$ with diffusivity $D$ starting at $(x, y)$ [@redner2001guide; @carr2022mean], $\hat{\boldsymbol n}(x, y)$ is the unit normal vector field on $\Gamma_r$, $(x_s, y_s) = (0, 0)$, and the domain $\Omega$ with boundary $\partial\Omega = \Gamma_a \cup \Gamma_r$ is shown in \autoref{fig:1}(a). This setup defines a mean exit time where the particle can only exit through $\Gamma_a$ or through the sink $(x_s, y_s)$, and it gets reflected off of $\Gamma_r$. +Here, $\hat{\boldsymbol n}(x, y)$ is the unit normal vector field on $\Gamma_r$, $(x_s, y_s) = (0, 0)$, and the domain $\Omega$ with boundary $\partial\Omega = \Gamma_a \cup \Gamma_r$ is shown in \autoref{fig:1}(a). This setup defines a mean exit time where the particle can only exit through $\Gamma_a$ or through the sink $(x_s, y_s)$, and it gets reflected off of $\Gamma_r$. The code to generate a mesh of the domain is given below. We use `CircularArc`s to define the boundary so that curve-bounded refinement can be applied using the algorithm of @gosselin2009delaunay. The resulting mesh is shown in \autoref{fig:1}, together with a solution of the mean exit time problem with $D = 6.25 \times 10^{-4}$; FiniteVolumeMethod.jl [@vandenheuvel2024finite] is used to solve this problem, and the code for this can be found [here](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/blob/paper/paper/paper.jl).