100 lines
2.6 KiB
C
100 lines
2.6 KiB
C
/*
|
|
* Simple example c program to write a
|
|
* binary datafile for tecplot. This example
|
|
* does the following:
|
|
*
|
|
* 1. Open a datafile called "t.plt"
|
|
* 2. Assign values for X,Y, and P
|
|
* 3. Write out a zone dimensioned 4x5
|
|
* 4. Close the datafile.
|
|
*/
|
|
|
|
#include "TECIO.h"
|
|
|
|
#ifndef NULL
|
|
#define NULL 0
|
|
#endif
|
|
|
|
enum FileType { FULL = 0, GRID = 1, SOLUTION = 2 };
|
|
|
|
int main(void)
|
|
{
|
|
float X[5][4], Y[5][4], P[5][4];
|
|
double SolTime;
|
|
INTEGER4 Debug, I, J, III, DIsDouble, VIsDouble, IMax, JMax, KMax, ZoneType, StrandID, ParentZn, IsBlock;
|
|
INTEGER4 ICellMax, JCellMax, KCellMax, NFConns, FNMode, ShrConn, FileType;
|
|
|
|
Debug = 1;
|
|
VIsDouble = 0;
|
|
DIsDouble = 0;
|
|
IMax = 4;
|
|
JMax = 5;
|
|
KMax = 1;
|
|
ZoneType = 0; /* Ordered */
|
|
SolTime = 360.0;
|
|
StrandID = 0; /* StaticZone */
|
|
ParentZn = 0; /* No Parent */
|
|
IsBlock = 1; /* Block */
|
|
ICellMax = 0;
|
|
JCellMax = 0;
|
|
KCellMax = 0;
|
|
NFConns = 0;
|
|
FNMode = 0;
|
|
ShrConn = 0;
|
|
FileType = FULL;
|
|
|
|
/*
|
|
* Open the file and write the tecplot datafile
|
|
* header information
|
|
*/
|
|
I = TECINI112((char*)"SIMPLE DATASET",
|
|
(char*)"X Y P",
|
|
(char*)"t.plt",
|
|
(char*)".",
|
|
&FileType,
|
|
&Debug,
|
|
&VIsDouble);
|
|
|
|
for (J = 0; J < 5; J++)
|
|
for (I = 0; I < 4; I++)
|
|
{
|
|
X[J][I] = (float)(I + 1);
|
|
Y[J][I] = (float)(J + 1);
|
|
P[J][I] = (float)((I + 1) * (J + 1));
|
|
}
|
|
/*
|
|
* Write the zone header information.
|
|
*/
|
|
I = TECZNE112((char*)"Simple Zone",
|
|
&ZoneType,
|
|
&IMax,
|
|
&JMax,
|
|
&KMax,
|
|
&ICellMax,
|
|
&JCellMax,
|
|
&KCellMax,
|
|
&SolTime,
|
|
&StrandID,
|
|
&ParentZn,
|
|
&IsBlock,
|
|
&NFConns,
|
|
&FNMode,
|
|
0, /* TotalNumFaceNodes */
|
|
0, /* NumConnectedBoundaryFaces */
|
|
0, /* TotalNumBoundaryConnections */
|
|
NULL, /* PassiveVarList */
|
|
NULL, /* ValueLocation = Nodal */
|
|
NULL, /* SharVarFromZone */
|
|
&ShrConn);
|
|
/*
|
|
* Write out the field data.
|
|
*/
|
|
III = IMax * JMax;
|
|
I = TECDAT112(&III, &X[0][0], &DIsDouble);
|
|
I = TECDAT112(&III, &Y[0][0], &DIsDouble);
|
|
I = TECDAT112(&III, &P[0][0], &DIsDouble);
|
|
|
|
I = TECEND112();
|
|
|
|
return 0;
|
|
}
|