# Saving Delaunay Triangulation

**URL:** <https://discourse.julialang.org/t/saving-delaunay-triangulation/127004>\
**Category:** General Usage\
**Tags:** package, jld2\
**Created:** [March 16, 2025, 10:36am UTC](https://discourse.julialang.org/t/saving-delaunay-triangulation/127004 "2025-03-16T10:36:09Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Varun\_V](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/varun_v/32/53199_2.png) [@Varun\_V](https://discourse.julialang.org/u/Varun_V)\
**Post date:** [March 16, 2025, 10:36am UTC](https://discourse.julialang.org/t/saving-delaunay-triangulation/127004/1 "2025-03-16T10:36:09Z")

</div>

I’d like to save a triangulation I’ve created using DelaunayTriangulation.jl. I have tried using JLD2 but am unable to. I feel like this should be easy so I’m probably doing something wrong.

```julia
using DelaunayTriangulation, JLD2
r = rand(2, 100)
mesh = triangulate(r)
save_object("mesh.jld2", mesh)

```

The error:

```julia
julia> save_object("mesh.jld2", mesh)
ERROR: Type GenericMemory does not have a definite size.

```

---

<div class="post-metadata">

**Author:** ![JonasIsensee](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jonasisensee/32/4704_2.png) [@JonasIsensee](https://discourse.julialang.org/u/JonasIsensee)\
**Post date:** [March 16, 2025, 10:48am UTC](https://discourse.julialang.org/t/saving-delaunay-triangulation/127004/2 "2025-03-16T10:48:53Z")

</div>

Hi @Varun_V ,

You’re welcome to open an issue at JLD2 for this.  
I’ll have a look eventually but not until i submit my phd thesis (8 weeks)…

I assume that you ran your code on Julia v1.11 and that it would work on v1.10

---

<div class="post-metadata">

**Author:** ![Varun\_V](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/varun_v/32/53199_2.png) [@Varun\_V](https://discourse.julialang.org/u/Varun_V)\
**Post date:** [March 16, 2025, 11:21am UTC](https://discourse.julialang.org/t/saving-delaunay-triangulation/127004/3 "2025-03-16T11:21:58Z")

</div>

Thanks, I’ve done this [here](https://github.com/JuliaIO/JLD2.jl/issues/633). Good luck with your thesis

---

<div class="post-metadata">

**Author:** ![abraemer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abraemer/32/51403_2.png) [@abraemer](https://discourse.julialang.org/u/abraemer)\
**Post date:** [March 16, 2025, 8:59pm UTC](https://discourse.julialang.org/t/saving-delaunay-triangulation/127004/4 "2025-03-16T20:59:49Z")

</div>

I don’t know what `save_object` does but have you trief `jldsave` instead? I never had any issues with `jldsave`.

---

<div class="post-metadata">

**Author:** ![JonasIsensee](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jonasisensee/32/4704_2.png) [@JonasIsensee](https://discourse.julialang.org/u/JonasIsensee)\
**Post date:** [March 16, 2025, 9:33pm UTC](https://discourse.julialang.org/t/saving-delaunay-triangulation/127004/5 "2025-03-16T21:33:10Z")

</div>

That won’t help. It’s just a different API.

The real issue is that I haven’t had the time to fully update JLD2 to julia v1.11.  
(E.g. to handle `Memory` appearing in different places)  
Most things work just fine on v1.11 but there a few problems like this one.

---

<div class="post-metadata">

**Author:** ![DanielVandH](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielvandh/32/31134_2.png) [@DanielVandH](https://discourse.julialang.org/u/DanielVandH)\
**Post date:** [March 16, 2025, 10:20pm UTC](https://discourse.julialang.org/t/saving-delaunay-triangulation/127004/6 "2025-03-16T22:20:05Z")

</div>

You might have some luck just saving the `points`, `boundary_nodes`, and `triangles` and then using that to reconstruct your triangulation here with this method [DelaunayTriangulation.jl/src/data\_structures/triangulation/triangulation.jl at da9f582bd6b9f97d218bc5a98199f886b0e13d6b · JuliaGeometry/DelaunayTriangulation.jl · GitHub](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/blob/da9f582bd6b9f97d218bc5a98199f886b0e13d6b/src/data_structures/triangulation/triangulation.jl#L522-L559). i.e.

```julia
points = get_points(tri)
boundary_nodes = get_boundary_nodes(tri)
triangles = get_triangles(tri) # might need to be Set(each_solid_triangle(tri)) ? not sure.
# then save

# to reconstruct
Triangulation(points, triangles, boundary_nodes)

```

(untested code)

If you have no boundary nodes you can refer to the reconstructor below the one I linked
