SURF Format (.surf): A SURF file contains a tria/quad face boundary surface grid. Information on element connectivity can be found here.
{ Number_of_Surf_Trias, Number_of_Surf_Quads, Number_of_Nodes }
{ [ ( X for node 1,
Y for node 1,
Z for node 1,
initial normal spacing for node 1 ),
( X for node 2,
Y for node 2,
Z for node 2,
initial normal spacing for node 2 ),
...
( X for node Number_of_Nodes,
Y for node Number_of_Nodes,
Z for node Number_of_Nodes,
initial normal spacing for node Number_of_Nodes ) ] }
{ [ ( index for node 1 of tria boundary face 1,
index for node 2 of tria boundary face 1,
index for node 3 of tria boundary face 1,
surface ID for tria boundary face 1,
reconnection flag for tria boundary face 1,
grid boundary condition flag for tria boundary face 1 ),
( index for node 1 of tria boundary face 2,
index for node 2 of tria boundary face 2,
index for node 3 of tria boundary face 2,
surface ID for tria boundary face 2,
reconnection flag for tria boundary face 2,
grid boundary condition flag for tria boundary face 2 ),
...
( index for node 1 of tria boundary face Number_of_Surf_Trias,
index for node 2 of tria boundary face Number_of_Surf_Trias,
index for node 3 of tria boundary face Number_of_Surf_Trias,
surface ID for tria boundary face Number_of_Surf_Trias,
reconnection flag for tria boundary face Number_of_Surf_Trias,
grid boundary condition flag for tria boundary face
Number_of_Surf_Trias ) ] }
{ [ ( index for node 1 of quad boundary face 1,
index for node 2 of quad boundary face 1,
index for node 3 of quad boundary face 1,
index for node 4 of quad boundary face 1,
surface ID for quad boundary face 1,
reconnection flag for quad boundary face 1,
grid boundary condition flag for quad boundary face 1 ),
( index for node 1 of quad boundary face 2,
index for node 2 of quad boundary face 2,
index for node 3 of quad boundary face 2,
index for node 4 of quad boundary face 2,
surface ID for quad boundary face 2,
reconnection flag for quad boundary face 2,
grid boundary condition flag for quad boundary face 2 ),
...
( index for node 1 of quad boundary face Number_of_Surf_Quads,
index for node 2 of quad boundary face Number_of_Surf_Quads,
index for node 3 of quad boundary face Number_of_Surf_Quads,
index for node 4 of quad boundary face Number_of_Surf_Quads,
surface ID for quad boundary face Number_of_Surf_Quads,
reconnection flag for quad boundary face Number_of_Surf_Quads,
grid boundary condition flag for quad boundary face
Number_of_Surf_Quads ) ] }
The variables used above are defined as follows.
Number_of_Surf_Quads : Number of quadrilateral boundary surface faces.
Number_of_Surf_Trias : Number of triangular boundary surface faces.
Number_of_Nodes : Number of grid nodes.
In the above description, the parentheses ( ... ) are for grouping, the
brackets [ ... ] enclose items in a loop, and braces { ... } enclose items
in a single logical record.
In FORTRAN unformatted form, the data must be written out or read in using the record format defined above. The floating point data items must all be either real*4 or real*8 data.
In C binary form, the data may be written out or read in using records the length of loops or of the individual data items. The floating point data items must all be either float or double data.
In ASCII formatted form, the data may be written out or read in using records the length of loops or of the individual data items. Data items may be written out in free format of any specific form.