13 int Euler2DUpwindRoe (
double*,
double*,
double*,
double*,
double*,
double*,
int,
void*,
double);
14 int Euler2DUpwindRF (
double*,
double*,
double*,
double*,
double*,
double*,
int,
void*,
double);
15 int Euler2DUpwindLLF (
double*,
double*,
double*,
double*,
double*,
double*,
int,
void*,
double);
16 int Euler2DUpwindSWFS (
double*,
double*,
double*,
double*,
double*,
double*,
int,
void*,
double);
31 fprintf(stderr,
"Error in Euler2DInitialize(): nvars has to be %d.\n",
_MODEL_NVARS_);
35 fprintf(stderr,
"Error in Euler2DInitialize(): ndims has to be %d.\n",
_MODEL_NDIMS_);
46 if (!count) printf(
"Reading physical model inputs from file \"physics.inp\".\n");
47 in = fopen(
"physics.inp",
"r");
48 if (!in) printf(
"Warning: File \"physics.inp\" not found. Using default values.\n");
51 ferr = fscanf(in,
"%s",word);
if (ferr != 1)
return(1);
52 if (!strcmp(word,
"begin")){
53 while (strcmp(word,
"end")){
54 ferr = fscanf(in,
"%s",word);
if (ferr != 1)
return(1);
55 if (!strcmp(word,
"gamma")) {
56 ferr = fscanf(in,
"%lf",&physics->
gamma);
if (ferr != 1)
return(1);
57 }
else if (!strcmp(word,
"upwinding")) {
58 ferr = fscanf(in,
"%s",physics->
upw_choice);
if (ferr != 1)
return(1);
59 }
else if (strcmp(word,
"end")) {
61 ferr = fscanf(in,
"%s",useless);
if (ferr != 1)
return(ferr);
62 printf(
"Warning: keyword %s in file \"physics.inp\" with value %s not ",word,useless);
63 printf(
"recognized or extraneous. Ignoring.\n");
67 fprintf(stderr,
"Error: Illegal format in file \"physics.inp\".\n");
81 fprintf(stderr,
"Error in Euler2DInitialize: This physical model does not have a splitting ");
82 fprintf(stderr,
"of the hyperbolic term defined.\n");
95 fprintf(stderr,
"Error in Euler2DInitialize(): %s is not a valid upwinding scheme.\n",
double(* ComputeCFL)(void *, void *, double, double)
int Euler2DUpwindLLF(double *, double *, double *, double *, double *, double *, int, void *, double)
int MPIBroadcast_double(double *, int, int, void *)
Containts the structures and definitions for boundary condition implementation.
int(* Upwind)(double *, double *, double *, double *, double *, double *, int, void *, double)
int(* GetRightEigenvectors)(double *, double *, void *, int)
MPI related function definitions.
int(* FFunction)(double *, double *, int, void *, double)
int Euler2DLeftEigenvectors(double *u, double *L, void *p, int dir)
#define _MAX_STRING_SIZE_
int(* AveragingFunction)(double *, double *, double *, void *)
Structure containing the variables and function pointers defining a boundary.
double Euler2DComputeCFL(void *s, void *m, double dt, double t)
int Euler2DUpwindSWFS(double *, double *, double *, double *, double *, double *, int, void *, double)
int Euler2DRightEigenvectors(double *u, double *R, void *p, int dir)
int(* GetLeftEigenvectors)(double *, double *, void *, int)
int Euler2DUpwindRoe(double *, double *, double *, double *, double *, double *, int, void *, double)
int Euler2DRoeAverage(double *uavg, double *uL, double *uR, void *p)
Contains structure definition for hypar.
int MPIBroadcast_character(char *, int, int, void *)
char SplitHyperbolicFlux[_MAX_STRING_SIZE_]
Some basic definitions and macros.
Contains macros and function definitions for common array operations.
int Euler2DInitialize(void *, void *)
int Euler2DUpwindRF(double *, double *, double *, double *, double *, double *, int, void *, double)
Structure of MPI-related variables.
char upw_choice[_MAX_STRING_SIZE_]
Structure containing all solver-specific variables and functions.
int Euler2DFlux(double *f, double *u, int dir, void *s, double t)