9 #define IDWS(ldx, mdx, idx, jdx, kdx) ((ldx)*(3)*(d->Nx)*(d->Ny)*(d->Nz) + (mdx)*(d->Nx)*(d->Ny)*(d->Nz) + (idx)*(d->Ny)*(d->Nz) + (jdx)*(d->Nz) + (kdx)) 11 #define IDFW(ldx, mdx, idx, jdx, kdx) ((ldx)*(12)*(d->Nx)*(d->Ny)*(d->Nz) + (mdx)*(d->Nx)*(d->Ny)*(d->Nz) + (idx)*(d->Ny)*(d->Nz) + (jdx)*(d->Nz) + (kdx)) 13 #define IDM(ldx, mdx, idx, jdx, kdx) ((ldx)*(3)*(d->Nx)*(d->Ny)*(d->Nz) + (mdx)*(d->Nx)*(d->Ny)*(d->Nz) + (idx)*(d->Ny)*(d->Nz) + (jdx)*(d->Nz) + (kdx)) 126 void sourceExtension(
double * cons,
double * prims,
double * aux,
double * source);
129 void set_vars(
double * cons,
double * prims,
double * aux);
133 void set_Dx(
double * cons,
double * prims,
double * aux);
134 void set_Dy(
double * cons,
double * prims,
double * aux);
135 void set_Dz(
double * cons,
double * prims,
double * aux);
147 void set_K(
double * cons,
double * prims,
double * aux);
151 void set_dfxdw(
double * cons,
double * prims,
double * aux);
152 void set_dfydw(
double * cons,
double * prims,
double * aux);
153 void set_dfzdw(
double * cons,
double * prims,
double * aux);
157 void set_dwdsb(
double * cons,
double * prims,
double * aux);
double * dwdsb
Derivative of primitive vector wrt stiff source.
FluxMethod * fluxMethod
Pointer to the flux method class.
void set_dwdsb(double *cons, double *prims, double *aux)
Sets the derivative of the primitive vector wrt the stiff source vector.
Data * data
Pointer to Data class containing global simulation data.
REGIME: Resistive extension upgrade for ideal MHD
double * diffuZ
Diffusion vector.
void set_dfxdw(double *cons, double *prims, double *aux)
Sets the derivative of the non-stiff flux wrt the primitive vector.
Extension to the base physics model
void set_Dz(double *cons, double *prims, double *aux)
void set_dfzdw(double *cons, double *prims, double *aux)
double * dfzdw
Derivative of flux vector wrt to primitive variables.
void set_Dy(double *cons, double *prims, double *aux)
double * alpha
Prefactor for dwdsb.
void set_Dx(double *cons, double *prims, double *aux)
Set the diffusion vector. Method assumes K and dwdsb are set.
void set_K(double *cons, double *prims, double *aux)
Determines the RHS bracket of the diffusion terms.
void sourceExtension(double *cons, double *prims, double *aux, double *source)
Main user function for the modified source.
void set_dfydw(double *cons, double *prims, double *aux)
Abstract base class for flux reconstruction methods
double * E
Electric field vector.
virtual ~REGIME()
Destructor.
double * K
partial_a fbar^a
double * q
Charge density.
void set_vars(double *cons, double *prims, double *aux)
Sets up variables including the electric field and charge density.
double * Mz
Directional matrices multiplying K. Dot prod(partial_w f^a, partial_sbar w)
double * fbz
Stiff flux vector.