1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
#ifndef FEDATASTRUCTURES_HEADER
#define FEDATASTRUCTURES_HEADER
typedef struct Grid
{
unsigned int NumberOfPoints;
double* Points;
unsigned int NumberOfCells;
unsigned int* Cells;
} Grid;
void InitializeGrid(Grid* grid, const unsigned int numPoints[3], const double spacing[3]);
void FinalizeGrid(Grid*);
typedef struct Attributes
{
// A structure for generating and storing point and cell fields.
// Velocity is stored at the points and pressure is stored
// for the cells. The current velocity profile is for a
// shearing flow with U(y,t) = y*t, V = 0 and W = 0.
// Pressure is constant through the domain.
double* Velocity;
float* Pressure;
Grid* GridPtr;
} Attributes;
void InitializeAttributes(Attributes* attributes, Grid* grid);
void FinalizeAttributes(Attributes* attributes);
void UpdateFields(Attributes* attributes, double time);
#endif
|