NuSiF-Solver/EnhancedSolver/3D-mpi/src/solver.h

40 lines
996 B
C

/*
* Copyright (C) NHR@FAU, University Erlangen-Nuremberg.
* All rights reserved. This file is part of nusif-solver.
* Use of this source code is governed by a MIT style
* license that can be found in the LICENSE file.
*/
#ifndef __SOLVER_H_
#define __SOLVER_H_
#include "comm.h"
#include "grid.h"
#include "parameter.h"
#include "discretization.h"
typedef struct {
/* geometry and grid information */
Grid* grid;
/* arrays */
double *p, *rhs;
double *f, *g, *h;
double *u, *v, *w;
/* parameters */
double eps, omega;
double re, tau, gamma;
double gx, gy, gz;
/* time stepping */
int itermax;
double dt, te;
double dtBound;
char* problem;
int bcLeft, bcRight, bcBottom, bcTop, bcFront, bcBack;
/* communication */
double **r, **e;
int levels, presmooth, postsmooth;
Comm* comm;
} Solver;
extern double solve(Solver* , double* , double* );
extern void initSolver(Solver*, Discretization*, Parameter*);
#endif