<div dir="ltr">Hi everyone,<div><br></div><div>Since I've come to tinker with Gmsh once again lately, I've had to deal with the shortcomings of the format as well. I've found the format hard to work with for one particular reason: The element table has no fixed size element types are mixed and tags are provided with the element. A better design would be to separate the elements by type, e.g.,</div><div>```</div><div>$Elements<br></div><div>1 # type</div><div>777  # number of elements to follow</div><div>...</div><div>$EndElements<br></div><div>$Elements<br></div><div>2</div><div>6131</div><div>...</div><div>$EndElements<br></div><div>```</div><div>and the list the tag separately, e.g.,</div><div>```</div><div>$Tag</div><div>"physical"</div><div>1  # entitiy type</div><div>5613  # number of entities</div><div><list of indices></div><div>$EndTag</div><div>```</div><div>This would avoid having to iterate through the file line by line and apply some logic every time anew. One could rather read (and write) an entire dataset en bloc, making I/O much more efficient.</div><div><br></div><div>Besides, I suppose the "index" variable in nodes and elements could be omitted -- the information is already given in terms of the order.</div><div><br></div><div>Anyhow, I realize that modifying a format is a virtual impossibility, but if that ever happens, considering the above points would potentially make processing the data easier. Even better of course would be to use an existing mesh format by default [1].</div><div><br></div><div>Cheers,</div><div>Nico</div><div><br></div><div>[1] <a href="https://xkcd.com/927/">https://xkcd.com/927/</a></div></div>