[Gmsh] Adapting Mesh Size to Bathymetry on the Sphere

Lee, Shaun shaun.lee10 at imperial.ac.uk
Thu Aug 23 15:40:35 CEST 2012


Dear Gmsh users.

I am part of a research team in the Applied Modeling and Computational
Group at Imperial College London investigating the meshing of realistic
domains. We are developing Python plugins for Quantum GIS that allow us
to create Geo files from Shapefile polygon layers and use NetCDF files
as a mesh-size metric followed by the creation of a mesh.

For example, using GSHHS Shapefile data it is possible to create a
domain of the sea surrounding the British Isles and using data stored in
a NetCDF file to produce a finer mesh size in areas of shallow water and
coarser resolution where the depth is greater. This has been achieved on
a planar surface by creating a PostView (.pos) file from the NetCDF
file, merging this to the Geo file, running the 'Triangulate' plugin and
then using this as the background field.

We would like to be able to perform a similar operation on the sphere in
Cartesian space. The current code allows the projection of the domain
onto a sphere and creates a functional Geo file. However, it has not
been possible (in our experience) to implement the same process of using
a PostView file containing the data to define the mesh size at a
specific location on the sphere, as we want mesh size data on the
surface of the sphere, but the PostView and triangulate use the 3D space
(hence we get a non-usable PostView). Instead, we have used a Structured
Field and used the LonLat operator to put that on the sphere surface.

We have written a Python script which converts a NetCDF file into a
*.dat file for use as a 'Structured' field inside Gmsh. This is imported
and a 'LonLat' field is added. In a global domain, this works fine.
However, when using a small area (e.g. around the UK) when visualised,
the LonLat field is heavily distorted, appearing to have been stretched
from the north pole, and indeed appears centered over the North pole.

Does anybody have experience of getting limited (i.e. not global) fields
into GMSH on the sphere (rather than in stereographic space)? Are there
any other suitable methods of getting spatial data into GMSH for use as
a mesh background field, other than Structured field or as a PostView?

Thank you in advance,
Shaun Lee
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20120823/4b70a471/attachment.html>