Skip to content
Snippets Groups Projects
Commit 174c2296 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

ghost cells, take three -- ghost cells are now fully functional (for

single file IO)

TWO BIG WARNINGS:

1) The MSH file version has been bumped from 2.1 to 2.2 because if a
mesh has partitions, the meaning of the tags has changed. Tag 3 used
to be the partition id; now tag 3 contains the number of partitions
(self+ghosts, if necessary), and the next tag(s) contain(s) the
partition(s) id(s). Ghost partitions have < 0 ids. The (new) default
behaviour is to not save partition numbers by default if there are
none.

2) There is an issue for split-file IO (one file per partition), due
to our on-the-fly renumbering of the elements (we would need a global
pass+store an inverse multimap to have the correct ghost element
numbers in a split-file scheme). The problem comes from the multiple
physicals -> multiple copies of the same MElement* in the MSH file +
our refusal to store an index in MElement. We need to discuss this
before we implement split-file IO in parallel...



PS -- I also changed the way we write binary files. We now save blobs
of single elements. This is fully compatible with old versions, but
might slow down reading large files. I did not see any performance hit
on my machine, but this should be tested more thoroughly. Third party
codes can still write larger binary blobs if they want to, but Gmsh
itself now writes small blobs, which makes the writeMSH routine much
simpler.

parent 41d4828d
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment