76 { 1., - 2./3., - 1./3.[0] },
77 {
a - 1., 1./2, 1/2. -
a }
80 for (
int i = 0;
i < 3;
i++) {
82 for (
int j = 0;
j < 3;
j++)
105 const double x[
n],
double f[
n-1][
nvar],
111 for (
int i = (
k == 0);
i < (
k ==
n - 3 ? 3 : 4);
i++) {
180 for (
int v = 0;
v <
nvar;
v++) {
182 for (
int i = (
k == 0);
i < (
k ==
n - 3 ? 3 : 4);
i++)
196 double c[4] = {0.,0.,0.,0.};
197 for (
int i = 0;
i < 4;
i++)
198 for (
int j = 0;
j < 4;
j++)
201 for (
int i = 0;
i < 3;
i++)
212 return a*
b <= 0. ? 0. :
223 const int n,
const double x[
n],
double f[
n-1][
nvar],
229 for (
int v = 0;
v <
nvar;
v++) {
283 if (
C[1][
v]/
C[2][
v] > - 1.)
388 for (
int v = 0;
v <
nvar;
v++) {
399 for (
int v = 0;
v <
nvar;
v++) {
411 C[0][
v] =
B[0] +
B[1] +
B[2];
412 C[1][
v] = -
B[1] - 2.*
B[2];
431 right_value (
nvar,
s_right,
k,
npos,
xpos,
fdat,
f_b,
lambda_b,
df_b,
f_t,
lambda_t,
df_t);
437 for (
int v = 0;
v <
nvar;
v++) {
443 for (
int i = 0;
i < 3;
i++)
496 for (
int v = 0;
v <
nvar;
v++) {
498 for (
int i = 0;
i < 3;
i++,
an *=
a,
bn *=
b)
static number sq(number x)
double smatrix_inverse(const int n, double m[n][n], double pivmin)
scalar f[]
The primary fields are:
*cs[i, 0, 0] a *[i -1, 0, 0] j
#define dx(s)
We first define some useful macros, following the notations in Bonneton et al, 2011.
static void remap_robin(double s_r, double f, double f_b, double lambda_b, double C[3])
static void remap_central(int nvar, const double s_l[nvar], const double s_r[nvar], const int n, const double x[n], double f[n-1][nvar], const int k, double C[3][nvar], const bool limiter)
The reconstruction function take the left and right values, the layers positions x and corresponding ...
static void right_value(int nvar, double s_right[nvar], int k, int n, const double x[n], double f[n-1][nvar], double f_b, double lambda_b, double df_b, double f_t, double lambda_t, double df_t)
static void remap_neumann(double s_r, double f, double df_b, double C[3])
static double minmodremap(double a, double b)
void remap_c(int npos, int nnew, const double xpos[npos], const double xnew[nnew], const int nvar, double fdat[npos-1][nvar], double fnew[nnew-1][nvar], double f_b, double lambda_b, double df_b, double f_t, double lambda_t, double df_t, bool limiter)