typedef struct {
  char name[10];
} Coeffs;

typedef struct {
  int    n;
  char   tag[50];
  char   groupName[50];
  Coeffs item[10];
  int    type;
} Data;

typedef struct {
  int   n;
  char  tag[10];
  char  name[30];
  char  format[30];
  char  type[NMAX*NB];
  int   id[NMAX*NB];
  int   segment[NMAX*NB];
  float value[NMAX*NB];
} BoundaryC;

typedef struct {
  char      name[50];           /* Name of module                */
  char      application[50];    /* Name of application to run    */
  int       id;
  int       state;
  int       nvar;               /* Number of variables           */
  Coeffs    variable[10];
  int       ngroups;            /* Number of equation data       */
  int       nbc;                /* Number of boundary conditions */
  Data      dataGroup[10];
  BoundaryC bc[10];
  EqData    data[10];
} Problem;


Problem module[10];
EqData  data[15];
BoundaryC bcdata[10];
int currentModule;
int numberOfModules;

void readModules();
char *getNextWord(FILE *stream);
int getNextNumber(FILE *stream);
void printEqstruct(Data *data, int n);
void readProblemData(FILE *stream, Data *eqdata, int *n, int id);
void readProblems();
void setModule(int id);



syntax highlighted by Code2HTML, v. 0.9.1