21 #define TP_RESTRICT __restrict__
72 double TestSolution (
double A,
double B,
double X,
double R,
double phi);
75 void Interpolate (
const double*
const pos,
double *Q,
bool low_res=
false);
89 derivs u,
int *ncols,
int **cols,
double **Matrix);
101 void SpecCoef (
int n1,
int n2,
int n3,
int ivar,
double *
v,
double *cf);
118 void BY_Aijofxyz (
double x,
double y,
double z,
double Aij[3][3]);
120 double A,
double B,
double X,
double R,
121 double x,
double r,
double phi,
122 double y,
double z,
derivs U,
double *values);
124 double x,
double r,
double phi,
130 double tol,
int itmax);
136 int const output,
int const itmax,
double const tol,
137 double * TP_RESTRICT
const normres);
139 norm_inf (
double const * TP_RESTRICT
const F,
142 relax (
double * TP_RESTRICT
const dv,
143 int const nvar,
int const n1,
int const n2,
int const n3,
144 double const * TP_RESTRICT
const rhs,
145 int const * TP_RESTRICT
const ncols,
146 int const * TP_RESTRICT
const * TP_RESTRICT
const cols,
147 double const * TP_RESTRICT
const * TP_RESTRICT
const JFD);
149 resid (
double * TP_RESTRICT
const res,
151 double const * TP_RESTRICT
const dv,
152 double const * TP_RESTRICT
const rhs,
153 int const * TP_RESTRICT
const ncols,
154 int const * TP_RESTRICT
const * TP_RESTRICT
const cols,
155 double const * TP_RESTRICT
const * TP_RESTRICT
const JFD);
158 int const j,
int const k,
int const nvar,
159 int const n1,
int const n2,
int const n3,
160 double const * TP_RESTRICT
const rhs,
161 int const * TP_RESTRICT
const ncols,
162 int const * TP_RESTRICT
const * TP_RESTRICT
const cols,
163 double const * TP_RESTRICT
const * TP_RESTRICT
const JFD);
166 int const i,
int const k,
int const nvar,
167 int const n1,
int const n2,
int const n3,
168 double const * TP_RESTRICT
const rhs,
169 int const * TP_RESTRICT
const ncols,
170 int const * TP_RESTRICT
const * TP_RESTRICT
const cols,
171 double const * TP_RESTRICT
const * TP_RESTRICT
const JFD);
void free_derivs(derivs *v, int n)
void Derivatives_AB3(int nvar, int n1, int n2, int n3, derivs v)
void JFD_times_dv(int i, int j, int k, int nvar, int n1, int n2, int n3, derivs dv, derivs u, double *values)
bool runned
an internal check
double BY_KKofxyz(double x, double y, double z)
double *_d0contig_low __attribute__((aligned(32)))
int bicgstab(int const nvar, int const n1, int const n2, int const n3, derivs v, derivs dv, int const output, int const itmax, double const tol, double *TP_RESTRICT const normres)
void SpecCoef(int n1, int n2, int n3, int ivar, double *v, double *cf)
void NonLinEquations(double rho_adm, double A, double B, double X, double R, double x, double r, double phi, double y, double z, derivs U, double *values)
void Interpolate(const double *const pos, double *Q, bool low_res=false)
Interpolation function for an external caller.
double PunctEvalAtArbitPositionFasterLowRes(double A, double B, double phi)
void F_of_v(int nvar, int n1, int n2, int n3, derivs v, double *F, derivs u)
double PunctEvalAtArbitPositionFast(double *v, int ivar, double A, double B, double phi, int nvar, int n1, int n2, int n3)
Fast Spectral Interpolation Routine Stuff.
void Newton(int nvar, int n1, int n2, int n3, derivs v, double tol, int itmax)
void relax(double *TP_RESTRICT const dv, int const nvar, int const n1, int const n2, int const n3, double const *TP_RESTRICT const rhs, int const *TP_RESTRICT const ncols, int const *TP_RESTRICT const *TP_RESTRICT const cols, double const *TP_RESTRICT const *TP_RESTRICT const JFD)
void AB_To_XR(int nvar, double A, double B, double *X, double *R, derivs U)
void rx3_To_xyz(int nvar, double x, double r, double phi, double *y, double *z, derivs U)
void LineRelax_be(double *TP_RESTRICT const dv, int const i, int const k, int const nvar, int const n1, int const n2, int const n3, double const *TP_RESTRICT const rhs, int const *TP_RESTRICT const ncols, int const *TP_RESTRICT const *TP_RESTRICT const cols, double const *TP_RESTRICT const *TP_RESTRICT const JFD)
void set_initial_guess(derivs v)
void calculate_derivs(int i, int j, int k, int ivar, int nvar, int n1, int n2, int n3, derivs v, derivs vv)
void resid(double *TP_RESTRICT const res, int const ntotal, double const *TP_RESTRICT const dv, double const *TP_RESTRICT const rhs, int const *TP_RESTRICT const ncols, int const *TP_RESTRICT const *TP_RESTRICT const cols, double const *TP_RESTRICT const *TP_RESTRICT const JFD)
void BY_Aijofxyz(double x, double y, double z, double Aij[3][3])
double PunctTaylorExpandAtArbitPosition(int ivar, int nvar, int n1, int n2, int n3, derivs v, double x, double y, double z)
void LineRelax_al(double *TP_RESTRICT const dv, int const j, int const k, int const nvar, int const n1, int const n2, int const n3, double const *TP_RESTRICT const rhs, int const *TP_RESTRICT const ncols, int const *TP_RESTRICT const *TP_RESTRICT const cols, double const *TP_RESTRICT const *TP_RESTRICT const JFD)
double PunctEvalAtArbitPositionFaster(double A, double B, double phi)
double TestSolution(double A, double B, double X, double R, double phi)
void J_times_dv(int nvar, int n1, int n2, int n3, derivs dv, double *Jdv, derivs u)
double PunctIntPolAtArbitPosition(int ivar, int nvar, int n1, int n2, int n3, derivs v, double x, double y, double z)
void SetMatrix_JFD(int nvar, int n1, int n2, int n3, derivs u, int *ncols, int **cols, double **Matrix)
double *_d0contig __attribute__((aligned(32)))
double interpol(double a, double b, double c, derivs v)
void allocate_derivs(derivs *v, int n)
double norm_inf(double const *TP_RESTRICT const F, int const ntotal)
void LinEquations(double A, double B, double X, double R, double x, double r, double phi, double y, double z, derivs dU, derivs U, double *values)
double PunctEvalAtArbitPosition(double *v, int ivar, double A, double B, double phi, int nvar, int n1, int n2, int n3)
int Index(int ivar, int i, int j, int k, int nvar, int n1, int n2, int n3)
double PunctIntPolAtArbitPositionFast(derivs v, double x, double y, double z, bool low_res=false)
void TestRelax(int nvar, int n1, int n2, int n3, derivs v, double *dv)
void C_To_c(int nvar, double X, double R, double *x, double *r, derivs U)
void TestVector_w(double *par, int nvar, int n1, int n2, int n3, double *w)
This file contains aliases for making access to the long state vector Q as used eg.