8#include "../include/var_struc.h"
9#include "../include/tools.h"
31void minmod_limiter(
const _Bool NO_h,
const int m,
const _Bool find_bound,
double s[],
32 const double U[],
const double UL,
const double UR,
const double HL, ...)
37 double const alpha =
config[41];
39 double h = HL, HR, * X;
42 HR = va_arg(ap,
double);
43 X = va_arg(ap,
double *);
46 for(j = 0; j < m; ++j)
55 h = 0.5 * (X[j+1] - X[j-1]);
56 s_L = (U[j] - U[j-1]) / h;
61 h = 0.5 * (X[j+1] - X[j] + HL);
62 s_L = (U[j] - UL) / h;
67 h = 0.5 * (X[j+2] - X[j]);
68 s_R = (U[j+1] - U[j]) / h;
73 h = 0.5 * (X[j+1] - X[j] + HR);
74 s_R = (UR - U[j]) / h;
77 s[j] =
minmod3(alpha*s_L, alpha*s_R, s[j]);
void minmod_limiter(const _Bool NO_h, const int m, const _Bool find_bound, double s[], const double U[], const double UL, const double UR, const double HL,...)
This function apply the minmod limiter to the slope in one dimension.
double config[]
Initial configuration data array.