[Gmsh] Read .msh in binary format with Fortran
Matteo Parsani
parsani.matteo at gmail.com
Thu Apr 10 21:18:06 CEST 2014
Dear Developers and Users,
I am trying to read a .msh binary file in Fortran.
I am able to read the "header" like
$MeshFormat
2.2 1 8
^A^@^@^@
$EndMeshFormat
After this portion I am getting the wrong values. I am reading the file as follows:
! If the casefile exists, open the mesh file and read it
open(unit=iunit,file=trim(filein)//'.msh',status='old',access='stream',
iostat=ierr)
! Read header $MeshFormat
read(iunit) header(1:12)
! Read version number
read(iunit) header(1:8)
! Read integer to check endianess
read(iunit) endianess
if(endianess .eq. 1) then
write(*,*) 'Native endian; nothing to be done.'
else
stop
endif
! Read hidden blanck line
read(iunit) header(1:1)
! Read header $EndMeshFormat
read(iunit) header(1:15)
! Read header $Nodes
read(iunit) header(1:7)
! Read number of nodes in a string and convert it to an integer
read(iunit) header
read(header,*) n_nodes
read(iunit)
(node_ids(i),vx_master(1,i),vx_master(2,i),vx_master(3,i),i = 1,n_nodes)
Clearly I am doing somthing wrong. Any idea?
Thank you
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20140410/fa9e911d/attachment.html>