This repository has been archived on 2023-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
foam-extend4.1-coherent-io/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtest.c
2010-08-25 22:42:57 +01:00

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;
}