HARM
harm and utilities
 All Data Structures Files Functions Variables Typedefs Macros Pages
Macros | Functions | Variables
interpline.c File Reference

Spatial Interpolation for fluxes based upon providing full 1D line information Instead of acting per point, this acts per line to improve memory efficiency. More...

#include "decs.h"
Include dependency graph for interpline.c:

Go to the source code of this file.

Macros

#define LINETYPEDEFINESOTHER   FTYPE a_youtpolycoef[1][1][1];
 
#define LINETYPEDEFINES1
 NPR2INTERP always larger than NPR, so can use one memory space for both c2e and others. More...
 
#define GEN3MAC(numypl, pl, numywhich, which, numyi, i)   (i + numyi*which + numyi*numywhich*pl)
 
#define GEN2MAC(numypl, pl, numyi, i)   (i + numyi*pl)
 below for drho,dP,etai More...
 
#define GEN1MAC(numyi, i)   (i)
 below for shockindicator, stiffindicator, Pline, Vline, shift, minorder, maxorder More...
 
#define YINOUTMAC(numypl, pl, numywhich, which, numyi, i)   GEN3MAC(numypl,pl,numywhich,which,numyi,i)
 below to be used for yin, yout, yprim, ystencilvar that involve [NPR2INTERP][2][NBIGM] type arrays previously More...
 
#define LINETYPEDEFINESMEMORY
 For OpenMP must have different memory per thread, so why put inside parallel region However, allocating and deallocating these perijk() is very expensive, so moved back outside perijk() and pass related pointers. More...
 
#define LINETYPEDEFINEPOINTERS
 NPR2INTERP always larger than NPR, so can use one memory space for both c2e and others OPENMPMARK: Must define pointers and shift them within parallel region! More...
 
#define LINETYPEDEFINES2
 
#define LINETYPESHIFTS
 shift pointers to account for boundary zones (similar to as in set_arrays.c) More...
 
#define LINETYPEPOINTERSFUNCTIONDECLARE
 
#define LINETYPEPOINTERSPASSFUNCTIONARG
 

Functions

static void slope_lim_linetype_c2e_perijk_precomputeindicators (LINETYPEPOINTERSFUNCTIONDECLARE, int i, int j, int k, int realisinterp, int whichprimtype, int interporflux, int nprlocalstart, int nprlocalend, int *nprlocallist, int numprims, int dir, int intdir, int is, int ie, int js, int je, int ks, int ke, int di, int dj, int dk, int bs, int ps, int pe, int be, int recontype, int doingweno, void(*pass_1d_line)(int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift,FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM],FTYPE(*Pline)[NBIGM], FTYPE(*df)[NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NBIGM], FTYPE(*monoindicator)[NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystencilvar)[NBIGM], FTYPE(*yin)[NBIGM], FTYPE(*yout)[NBIGM], FTYPE(*youtpolycoef)[NBIGM], struct of_trueijkp *trueijkp), void(*pass_1d_line_multipl)(int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift,FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM],FTYPE(*Pline)[NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE(*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystecilvar)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*yout)[2][NBIGM], FTYPE(*youtpolycoef)[MAXSPACEORDER][NBIGM], struct of_trueijkp *trueijkp), int stencilvarisnull, int preforder, int whichreduce, int idel, int jdel, int kdel, FTYPE(*primreal)[NSTORE2][NSTORE3][NPR], FTYPE(*stencilvar)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*p2interp)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*pleft)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*pright)[NSTORE2][NSTORE3][NPR2INTERP])
 interior of main SUPERGENLOOP() inside slope_lim_linetype_c2e() More...
 
static void slope_lim_linetype_c2e_perijk (LINETYPEPOINTERSFUNCTIONDECLARE, int i, int j, int k, int realisinterp, int whichprimtype, int interporflux, int nprlocalstart, int nprlocalend, int *nprlocallist, int numprims, int dir, int intdir, int is, int ie, int js, int je, int ks, int ke, int di, int dj, int dk, int bs, int ps, int pe, int be, int recontype, int doingweno, void(*pass_1d_line)(int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift,FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM],FTYPE(*Pline)[NBIGM], FTYPE(*df)[NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NBIGM], FTYPE(*monoindicator)[NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystencilvar)[NBIGM], FTYPE(*yin)[NBIGM], FTYPE(*yout)[NBIGM], FTYPE(*youtpolycoef)[NBIGM], struct of_trueijkp *trueijkp), void(*pass_1d_line_multipl)(int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift,FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM],FTYPE(*Pline)[NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE(*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystecilvar)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*yout)[2][NBIGM], FTYPE(*youtpolycoef)[MAXSPACEORDER][NBIGM], struct of_trueijkp *trueijkp), int stencilvarisnull, int preforder, int whichreduce, int idel, int jdel, int kdel, FTYPE(*primreal)[NSTORE2][NSTORE3][NPR], FTYPE(*stencilvar)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*p2interp)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*pleft)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*pright)[NSTORE2][NSTORE3][NPR2INTERP])
 interior of main SUPERGENLOOP() inside slope_lim_linetype_c2e() More...
 
static void slope_lim_linetype_perijk (LINETYPEPOINTERSFUNCTIONDECLARE, int i, int j, int k, int realisinterp, int whichprimtype, int interporflux, int nprlocalstart, int nprlocalend, int *nprlocallist, int numprims, int dir, int intdir, int is, int ie, int js, int je, int ks, int ke, int di, int dj, int dk, int bs, int ps, int pe, int be, int recontype, int doingweno, void(*pass_1d_line)(int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift,FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM],FTYPE(*Pline)[NBIGM], FTYPE(*df)[NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NBIGM], FTYPE(*monoindicator)[NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystencilvar)[NBIGM], FTYPE(*yin)[NBIGM], FTYPE(*yout)[NBIGM], FTYPE(*youtpolycoef)[NBIGM], struct of_trueijkp *trueijkp), void(*pass_1d_line_multipl)(int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift,FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM],FTYPE(*Pline)[NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE(*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystecilvar)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*yout)[2][NBIGM], FTYPE(*youtpolycoef)[MAXSPACEORDER][NBIGM], struct of_trueijkp *trueijkp), int stencilvarisnull, int preforder, int whichreduce, int weightsplittype, int whichquantity, int idel, int jdel, int kdel, FTYPE(*primreal)[NSTORE2][NSTORE3][NPR], FTYPE(*stencilvar)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*p2interpm)[NSTORE2][NSTORE3][NPR], FTYPE(*p2interpp)[NSTORE2][NSTORE3][NPR], FTYPE(*pleft)[NSTORE2][NSTORE3][NPR], FTYPE(*pright)[NSTORE2][NSTORE3][NPR])
 inside of SUPERGENLOOP() in slope_lim_linetype() More...
 
static void assign_eno_result (int recontype, int pl, int bs, int ps, int pe, int be, int i, int j, int k, int idel, int jdel, int kdel, FTYPE(*yout)[NBIGM], FTYPE(*result0)[NSTORE2][NSTORE3][NPR], FTYPE(*result1)[NSTORE2][NSTORE3][NPR])
 Assign result of ENO operation to final array only care about how many outputs. More...
 
static void get_1d_line_c2e_multipl (int whichquantity, int dir, int interporflux, int bs, int ps, int pe, int be, int i, int j, int k, FTYPE(*p2interp)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*yin)[2][NBIGM], struct of_trueijkp *trueijkp)
 c2e needed functions More...
 
static void get_1d_line_c2e (int dir, int interporflux, int pl, int bs, int ps, int pe, int be, int i, int j, int k, FTYPE(*p2interp)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE *yin, struct of_trueijkp *trueijkp)
 Get 1D line of data so can pass it to ENO scheme (used for c2e only) More...
 
static void get_1d_line_shockarray (int dir, int interporflux, int bs, int ps, int pe, int be, int i, int j, int k, FTYPE(*shockarray)[NSTORE1][NSTORE2][NSTORE3], FTYPE(*shockindicator)[NBIGM], struct of_trueijkp *trueijkp)
 Get 1D line of data so can pass it to ENO scheme. More...
 
static void assign_eno_result_c2e_multipl (int whichprimtype, int interporflux, int bs, int ps, int pe, int be, int i, int j, int k, int idel, int jdel, int kdel, FTYPE(*yout)[2][NBIGM], FTYPE(*result0)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*result1)[NSTORE2][NSTORE3][NPR2INTERP])
 below for shock indicator used on quantities with NPR elements More...
 
static void assign_eno_result_c2e (int recontype, int pl, int bs, int ps, int pe, int be, int i, int j, int k, int idel, int jdel, int kdel, FTYPE(*yout)[NBIGM], FTYPE(*result0)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*result1)[NSTORE2][NSTORE3][NPR2INTERP])
 Assign result of ENO operation to final array for c2e. More...
 
static void get_1d_line_c2e_gammaeffhydro (int dir, int interporflux, int pl, int bs, int ps, int pe, int be, int i, int j, int k, int idel, int jdel, int kdel, FTYPE(*p2interp)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE *yin, struct of_trueijkp *trueijkp)
 below for an effective $^2$ of the flow (only hydro since does not include bsq!) SASMARK More...
 
static void get_df_line_gen_new (int realisinterp, int doingweno, int whichprimtype, int interporflux, int recontype, int dir, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*yprim)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(**drhoptr)[NBIGM], FTYPE(**dPptr)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], struct of_trueijkp *trueijkp)
 interior _perijk() functions: More...
 
static void get_df_line_paraline (int realisinterp, int doingweno, int whichprimtype, int interporflux, int recontype, int dir, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*yprim)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(**drhoptr)[NBIGM], FTYPE(**dPptr)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], struct of_trueijkp *trueijkp)
 wrapper for compute_df_line and can be used by both c2e and other methods More...
 
static int compute_df_line (int doingweno, int interporflux, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE *yin, FTYPE(*df)[NBIGM])
 real calculation. Gets derivatives of input function and passes this to various other function More...
 
static int compute_df_line_paraline (int doingweno, int interporflux, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE *yin, FTYPE(*df)[NBIGM])
 real calculation. More...
 
static int compute_df_line_new (int doingweno, int whichprimtype, int interporflux, int recontype, int dir, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*yprim)[2][NBIGM], FTYPE *df, FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], struct of_trueijkp *trueijkp)
 returns the improved pressure jump indicators More...
 
static int compute_df_line_formono (int doingweno, int interporflux, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE *yin, FTYPE(*df)[NBIGM])
 Gets df and ddf for MONO if mono will use different yin than computed in above compute_df_line() function. More...
 
static void get_1d_line (int dir, int interporflux, int pl, int bs, int ps, int pe, int be, int i, int j, int k, FTYPE(*p2interpm)[NSTORE2][NSTORE3][NPR], FTYPE(*p2interpp)[NSTORE2][NSTORE3][NPR], FTYPE(*yin)[NBIGM], struct of_trueijkp *trueijkp)
 Get 1D line of data so can pass it to ENO scheme. More...
 
static int get_V_and_P (int whichprimtype, int interporflux, int dir, int bs, int ps, int pe, int be, int i, int j, int k, int idel, int jdel, int kdel, FTYPE(*yrealin)[2][NBIGM], FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], struct of_trueijkp *trueijkp)
 determine shock indicator (used for both c2e and other routines, only operates on quantities with NPR elements) More...
 
static int get_shock_indicator (int whichprimtype, int interporflux, int dir, int bs, int ps, int pe, int be, int i, int j, int k, int idel, int jdel, int kdel, FTYPE(*yprim)[2][NBIGM], FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*shockindicator)[NBIGM], struct of_trueijkp *trueijkp)
 determine shock indicator (used for both c2e and other routines, only operates on quantities with NPR elements) More...
 
static int get_contact_indicator (int realisinterp, int whichprimtype, int interporflux, int dir, int bs, int ps, int pe, int be, int i, int j, int k, int idel, int jdel, int kdel, FTYPE(*yin)[2][NBIGM], FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*etai)[NUMTRUEEOMSETS][NBIGM])
 currently only sets density etai, rest are 0 GODMARK More...
 
static void causal_shift_order (int whichprimtype, int interporflux, int dir, int preforder, int bs, int ps, int pe, int be, int i, int j, int k, int idel, int jdel, int kdel, int *shift, int *minorder, int *maxorder)
 Figure out shifting of stencil and order of stencil to more closely match with causality (used for both c2e and other routines) More...
 
static void set_preforder (int dir, int interporflux, int *preforder, int *whichreduce)
 sets preferred order based upon scheme and size of stencil More...
 
static int get_recon_type (int interporflux)
 get type of reconstruction to perform More...
 
void slope_lim_linetype_c2e (int realisinterp, int whichprimtype, int interporflux, int dir, int idel, int jdel, int kdel, FTYPE(*primreal)[NSTORE2][NSTORE3][NPR], FTYPE(*stencilvar)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*p2interp)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*pleft)[NSTORE2][NSTORE3][NPR2INTERP], FTYPE(*pright)[NSTORE2][NSTORE3][NPR2INTERP])
 very similar to slope_lim_linetype, but different number of quantities to handle More...
 
void slope_lim_linetype (int whichquantity, int interporflux, int dir, int idel, int jdel, int kdel, FTYPE(*primreal)[NSTORE2][NSTORE3][NPR], FTYPE(*stencilvar)[NSTORE2][NSTORE3][NPR], FTYPE(*p2interpm)[NSTORE2][NSTORE3][NPR], FTYPE(*p2interpp)[NSTORE2][NSTORE3][NPR], FTYPE(*pleft)[NSTORE2][NSTORE3][NPR], FTYPE(*pright)[NSTORE2][NSTORE3][NPR])
 linetype assumed to return pleft/pright directly since linetype's are usually higher order this function used for primitive interpolation AND for flux interpolation stencil var can be NULL or some pointer. More...
 
static void get_df_line_gen (int realisinterp, int doingweno, int whichprimtype, int interporflux, int recontype, int dir, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*yprim)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(**drhoptr)[NBIGM], FTYPE(**dPptr)[NBIGM], FTYPE *stiffindicator)
 wrapper for compute_df_line and can be used by both c2e and other methods whichprimtype==ENOPRIMITIVE -> NPR2INTERP type else NPR types More...
 

Variables

static void(* pass_1d_line )(int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*df)[NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NBIGM], FTYPE(*monoindicator)[NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystencilvar)[NBIGM], FTYPE(*yin)[NBIGM], FTYPE(*yout)[NBIGM], FTYPE(*youtpolycoef)[NBIGM], struct of_trueijkp *trueijkp)
 
static void(* pass_1d_line_multipl )(int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE(*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystecilvar)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*yout)[2][NBIGM], FTYPE(*youtpolycoef)[MAXSPACEORDER][NBIGM], struct of_trueijkp *trueijkp)
 

Detailed Description

Spatial Interpolation for fluxes based upon providing full 1D line information Instead of acting per point, this acts per line to improve memory efficiency.

Definition in file interpline.c.

Macro Definition Documentation

#define GEN1MAC (   numyi,
  i 
)    (i)

below for shockindicator, stiffindicator, Pline, Vline, shift, minorder, maxorder

Definition at line 54 of file interpline.c.

#define GEN2MAC (   numypl,
  pl,
  numyi,
  i 
)    (i + numyi*pl)

below for drho,dP,etai

Definition at line 52 of file interpline.c.

#define GEN3MAC (   numypl,
  pl,
  numywhich,
  which,
  numyi,
  i 
)    (i + numyi*which + numyi*numywhich*pl)

Definition at line 49 of file interpline.c.

#define LINETYPEDEFINEPOINTERS
Value:
FTYPE (*yin)[2][NBIGM]; \
FTYPE (*yout)[2][NBIGM]; \
FTYPE (*shockindicator)[NBIGM]; \
FTYPE *stiffindicator; \
FTYPE (*yprim)[2][NBIGM]; \
FTYPE (*ystencilvar)[2][NBIGM]; \
FTYPE (*df)[NUMDFS][NBIGM]; \
FTYPE (*dfformono)[NUMDFS][NBIGM]; \
FTYPE (*drho)[NBIGM]; \
FTYPE (*dP)[NBIGM]; \
FTYPE (*etai)[NUMTRUEEOMSETS][NBIGM]; \
FTYPE (*Pline)[NBIGM]; \
FTYPE (*Vline)[NBIGM]; \
int *shift; \
FTYPE (*monoindicator)[NUMMONOINDICATORS][NBIGM]; \
int *minorder; \
int *maxorder; \
FTYPE (*youtpolycoef)[MAXSPACEORDER][NBIGM];

NPR2INTERP always larger than NPR, so can use one memory space for both c2e and others OPENMPMARK: Must define pointers and shift them within parallel region!

Definition at line 89 of file interpline.c.

#define LINETYPEDEFINES1
Value:
int bs,be,ps,pe; \
int di,dj,dk; \
int is,ie,js,je,ks,ke; \
int preforder, whichreduce; \
int pl,pliter; \
int recontype; \
extern void pass_1d_line_weno(int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE (*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE (*Vline)[NBIGM], FTYPE (*Pline)[NBIGM], FTYPE (*df)[NBIGM], FTYPE (*dP)[NBIGM], FTYPE (*etai)[NBIGM], FTYPE (*monoindicator)[NBIGM], FTYPE (*yprim)[2][NBIGM], FTYPE (*ystencilvar)[NBIGM], FTYPE (*yin)[NBIGM], FTYPE (*yout)[NBIGM], FTYPE (*youtpolycoef)[NBIGM], struct of_trueijkp *trueijkp); \
extern void pass_1d_line_paraline(int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE (*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE (*Vline)[NBIGM], FTYPE (*Pline)[NBIGM], FTYPE (*df)[NBIGM], FTYPE (*dP)[NBIGM], FTYPE (*etai)[NBIGM], FTYPE (*monoindicator)[NBIGM], FTYPE (*yprim)[2][NBIGM], FTYPE (*ystencilvar)[NBIGM], FTYPE (*yin)[NBIGM], FTYPE (*yout)[NBIGM], FTYPE (*youtpolycoef)[NBIGM], struct of_trueijkp *trueijkp); \
extern void pass_1d_line_multipl_weno(int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE (*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE (*Vline)[NBIGM], FTYPE (*Pline)[NBIGM], FTYPE (*df)[NUMDFS][NBIGM], FTYPE (*dP)[NBIGM], FTYPE (*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE (*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE (*yprim)[2][NBIGM], FTYPE (*ystecilvar)[2][NBIGM], FTYPE (*yin)[2][NBIGM], FTYPE (*yout)[2][NBIGM], FTYPE (*youtpolycoef)[MAXSPACEORDER][NBIGM], struct of_trueijkp *trueijkp); \
extern void pass_1d_line_multipl_paraline(int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE (*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE (*Vline)[NBIGM], FTYPE (*Pline)[NBIGM], FTYPE (*df)[NUMDFS][NBIGM], FTYPE (*dP)[NBIGM], FTYPE (*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE (*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE (*yprim)[2][NBIGM], FTYPE (*ystecilvar)[2][NBIGM], FTYPE (*yin)[2][NBIGM], FTYPE (*yout)[2][NBIGM], FTYPE (*youtpolycoef)[MAXSPACEORDER][NBIGM], struct of_trueijkp *trueijkp); \
int intdir; \
int withshifts; \
int nprlocalstart,nprlocalend; \
int nprlocallist[MAXNPR]; \
int pllocal; \
int numprims; \
int stencilvarisnull; \
int doingweno;

NPR2INTERP always larger than NPR, so can use one memory space for both c2e and others.

Definition at line 27 of file interpline.c.

#define LINETYPEDEFINES2
Value:
int reallim; \
int pl,pliter; \
int yiter; \
int dfiter; \
int counter; \
int pllocal; \
struct of_trueijkp trueijkp; \
extern int choose_limiter(int dir, int i, int j, int k, int pl); \
extern void compute_monotonicity_line(int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE (*shockindicator)[NBIGM], FTYPE (*df)[NBIGM], FTYPE (*monoindicator)[NBIGM] , FTYPE *yin, FTYPE (*yout)[NBIGM], FTYPE (*youtpolycoef)[NBIGM]); \
extern void compute_monotonicity_line_multipl(int stencilvarisnull, int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE (*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE (*Vline)[NBIGM], FTYPE (*Pline)[NBIGM], FTYPE (*df)[NUMDFS][NBIGM], FTYPE (*dP)[NBIGM], FTYPE (*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE (*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE (*yprim)[2][NBIGM], FTYPE (*ystencilvar)[2][NBIGM], FTYPE (*yin)[2][NBIGM], FTYPE (*yout)[2][NBIGM], FTYPE (*youtpolycoef)[MAXSPACEORDER][NBIGM]); \
extern void compute_monotonicity_line_indicatoronly(int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE (*shockindicator)[NBIGM], FTYPE (*df)[NBIGM], FTYPE (*monoindicator)[NBIGM] , FTYPE *yin, FTYPE (*yout)[NBIGM], FTYPE (*youtpolycoef)[NBIGM]); \
extern void compute_monotonicity_line_valueonly(int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE (*shockindicator)[NBIGM], FTYPE (*df)[NBIGM], FTYPE (*monoindicator)[NBIGM] , FTYPE *yin, FTYPE (*yout)[NBIGM], FTYPE (*youtpolycoef)[NBIGM])

Definition at line 115 of file interpline.c.

#define LINETYPEDEFINESMEMORY
Value:
FTYPE a_yin[NPR2INTERP][2][NBIGM]; \
FTYPE a_yout[NPR2INTERP][2][NBIGM]; \
\
FTYPE a_shockindicator[NUMTRUEEOMSETS][NBIGM]; \
FTYPE a_stiffindicator[NBIGM]; \
\
FTYPE a_yprim[NPR2INTERP][2][NBIGM]; \
FTYPE a_ystencilvar[NPR2INTERP][2][NBIGM]; \
FTYPE a_df[NPR2INTERP][NUMDFS][NBIGM]; \
FTYPE a_dfformono[NPR2INTERP][NUMDFS][NBIGM]; \
FTYPE a_drho[NUMDFS][NBIGM]; \
FTYPE a_dP[NUMDFS][NBIGM]; \
FTYPE a_etai[NPR2INTERP][NUMTRUEEOMSETS][NBIGM]; \
FTYPE a_Pline[NUMTRUEEOMSETS][NBIGM]; \
FTYPE a_Vline[NUMTRUEEOMSETS][NBIGM]; \
int a_shift[NBIGM]; \
FTYPE a_monoindicator[NPR2INTERP][NUMMONOINDICATORS][NBIGM]; \
int a_minorder[NBIGM]; \
int a_maxorder[NBIGM];

For OpenMP must have different memory per thread, so why put inside parallel region However, allocating and deallocating these perijk() is very expensive, so moved back outside perijk() and pass related pointers.

OPENMPMARK: Still must allocate within parallel region! So place this within parallel region.

Definition at line 64 of file interpline.c.

#define LINETYPEDEFINESOTHER   FTYPE a_youtpolycoef[1][1][1];

Definition at line 22 of file interpline.c.

#define LINETYPEPOINTERSFUNCTIONDECLARE
Value:
FTYPE (*yin)[2][NBIGM], \
FTYPE (*yout)[2][NBIGM], \
FTYPE (*shockindicator)[NBIGM], \
FTYPE *stiffindicator, \
FTYPE (*yprim)[2][NBIGM], \
FTYPE (*ystencilvar)[2][NBIGM], \
FTYPE (*df)[NUMDFS][NBIGM], \
FTYPE (*dfformono)[NUMDFS][NBIGM], \
FTYPE (*drho)[NBIGM], \
FTYPE (*dP)[NBIGM], \
FTYPE (*etai)[NUMTRUEEOMSETS][NBIGM], \
FTYPE (*Pline)[NBIGM], \
FTYPE (*Vline)[NBIGM], \
int *shift, \
FTYPE (*monoindicator)[NUMMONOINDICATORS][NBIGM], \
int *minorder, \
int *maxorder, \
FTYPE (*youtpolycoef)[MAXSPACEORDER][NBIGM]

Definition at line 159 of file interpline.c.

#define LINETYPEPOINTERSPASSFUNCTIONARG
Value:
yin, \
yout, \
\
shockindicator, \
stiffindicator, \
\
yprim , \
ystencilvar, \
df, \
dfformono, \
drho, \
dP, \
etai, \
Pline, \
Vline, \
shift, \
monoindicator, \
minorder, \
maxorder, \
youtpolycoef

Definition at line 184 of file interpline.c.

#define LINETYPESHIFTS
Value:
{yin =(FTYPE (*)[2][NBIGM]) (&(a_yin[0][0][NBIGBND])); \
yout=(FTYPE (*)[2][NBIGM]) (&(a_yout[0][0][NBIGBND])); \
\
shockindicator=(FTYPE (*)[NBIGM]) (&(a_shockindicator[0][NBIGBND])); \
stiffindicator=(FTYPE (*)) (&(a_stiffindicator[NBIGBND])); \
\
yprim =(FTYPE (*)[2][NBIGM]) (&(a_yprim[0][0][NBIGBND])); \
ystencilvar =(FTYPE (*)[2][NBIGM]) (&(a_ystencilvar[0][0][NBIGBND])); \
df=(FTYPE (*)[NUMDFS][NBIGM]) (&(a_df[0][0][NBIGBND])); \
dfformono=(FTYPE (*)[NUMDFS][NBIGM]) (&(a_dfformono[0][0][NBIGBND])); \
drho=(FTYPE (*)[NBIGM]) (&(a_drho[0][NBIGBND])); \
dP=(FTYPE (*)[NBIGM]) (&(a_dP[0][NBIGBND])); \
etai=(FTYPE (*)[NUMTRUEEOMSETS][NBIGM]) (&(a_etai[0][0][NBIGBND])); \
Pline=(FTYPE (*)[NBIGM]) (&(a_Pline[0][NBIGBND])); \
Vline=(FTYPE (*)[NBIGM]) (&(a_Vline[0][NBIGBND])); \
shift=(int (*)) (&(a_shift[NBIGBND])); \
monoindicator=(FTYPE (*)[NUMMONOINDICATORS][NBIGM]) (&(a_monoindicator[0][0][NBIGBND])); \
minorder=(int (*)) (&(a_minorder[NBIGBND])); \
maxorder=(int (*)) (&(a_maxorder[NBIGBND])); \
youtpolycoef=(FTYPE (*)[MAXSPACEORDER][NBIGM]) (&(a_youtpolycoef[0][0][NBIGBND]));}

shift pointers to account for boundary zones (similar to as in set_arrays.c)

Definition at line 135 of file interpline.c.

#define YINOUTMAC (   numypl,
  pl,
  numywhich,
  which,
  numyi,
  i 
)    GEN3MAC(numypl,pl,numywhich,which,numyi,i)

below to be used for yin, yout, yprim, ystencilvar that involve [NPR2INTERP][2][NBIGM] type arrays previously

Definition at line 57 of file interpline.c.

Function Documentation

static void assign_eno_result ( int  interporflux,
int  pl,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  yout[NBIGM],
FTYPE(*)  result0[NSTORE2][NSTORE3][NPR],
FTYPE(*)  result1[NSTORE2][NSTORE3][NPR] 
)
static

Assign result of ENO operation to final array only care about how many outputs.

Definition at line 3990 of file interpline.c.

Here is the caller graph for this function:

static void assign_eno_result_c2e ( int  interporflux,
int  pl,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  yout[NBIGM],
FTYPE(*)  result0[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  result1[NSTORE2][NSTORE3][NPR2INTERP] 
)
static

Assign result of ENO operation to final array for c2e.

Definition at line 3939 of file interpline.c.

static void assign_eno_result_c2e_multipl ( int  whichprimtype,
int  interporflux,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  yout[2][NBIGM],
FTYPE(*)  result0[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  result1[NSTORE2][NSTORE3][NPR2INTERP] 
)
static

below for shock indicator used on quantities with NPR elements

Assign result of ENO operation to final array for c2e.

Definition at line 3864 of file interpline.c.

Here is the call graph for this function:

Here is the caller graph for this function:

static void causal_shift_order ( int  whichquantitiy,
int  interporflux,
int  dir,
int  preforder,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
int  idel,
int  jdel,
int  kdel,
int *  shift,
int *  minorder,
int *  maxorder 
)
static

Figure out shifting of stencil and order of stencil to more closely match with causality (used for both c2e and other routines)

Definition at line 2801 of file interpline.c.

Here is the caller graph for this function:

static int compute_df_line ( int  doingweno,
int  interporflux,
int  recontype,
int  whichreduce,
int  preforder,
int  pl,
int  bs,
int  ps,
int  pe,
int  be,
int *  minorder,
int *  maxorder,
int *  shift,
FTYPE yin,
FTYPE(*)  df[NBIGM] 
)
static

real calculation. Gets derivatives of input function and passes this to various other function

Definition at line 3423 of file interpline.c.

Here is the caller graph for this function:

static int compute_df_line_formono ( int  doingweno,
int  interporflux,
int  recontype,
int  whichreduce,
int  preforder,
int  pl,
int  bs,
int  ps,
int  pe,
int  be,
int *  minorder,
int *  maxorder,
int *  shift,
FTYPE yin,
FTYPE(*)  df[NBIGM] 
)
static

Gets df and ddf for MONO if mono will use different yin than computed in above compute_df_line() function.

Definition at line 3558 of file interpline.c.

Here is the caller graph for this function:

int compute_df_line_new ( int  doingweno,
int  whichprimtype,
int  interporflux,
int  recontype,
int  dir,
int  whichreduce,
int  preforder,
int  bs,
int  ps,
int  pe,
int  be,
int *  minorder,
int *  maxorder,
int *  shift,
FTYPE(*)  yprim[2][NBIGM],
FTYPE df,
FTYPE stiffindicator,
FTYPE(*)  Vline[NBIGM],
FTYPE(*)  Pline[NBIGM],
struct of_trueijkp trueijkp 
)
static

returns the improved pressure jump indicators

Definition at line 3593 of file interpline.c.

Here is the call graph for this function:

Here is the caller graph for this function:

static int compute_df_line_paraline ( int  doingweno,
int  interporflux,
int  recontype,
int  whichreduce,
int  preforder,
int  pl,
int  bs,
int  ps,
int  pe,
int  be,
int *  minorder,
int *  maxorder,
int *  shift,
FTYPE yin,
FTYPE(*)  df[NBIGM] 
)
static

real calculation.

Gets derivatives of input function and passes this to various other function Only what paraline needs [removed DFCENT2APART and DF2OFONESIDED calculations as compared to compute_df_line()]

Definition at line 3499 of file interpline.c.

Here is the caller graph for this function:

static void get_1d_line ( int  dir,
int  interporflux,
int  pl,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
FTYPE(*)  p2interpm[NSTORE2][NSTORE3][NPR],
FTYPE(*)  p2interpp[NSTORE2][NSTORE3][NPR],
FTYPE(*)  yin[NBIGM],
struct of_trueijkp trueijkp 
)
static

Get 1D line of data so can pass it to ENO scheme.

Definition at line 2574 of file interpline.c.

Here is the caller graph for this function:

static void get_1d_line_c2e ( int  dir,
int  interporflux,
int  pl,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
FTYPE(*)  p2interp[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE yin,
struct of_trueijkp trueijkp 
)
static

Get 1D line of data so can pass it to ENO scheme (used for c2e only)

Definition at line 2369 of file interpline.c.

Here is the caller graph for this function:

void get_1d_line_c2e_gammaeffhydro ( int  dir,
int  interporflux,
int  pl,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  p2interp[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE yin,
struct of_trueijkp trueijkp 
)
static

below for an effective $^2$ of the flow (only hydro since does not include bsq!) SASMARK

Get 1D line of data so can pass it to ENO scheme (used for c2e only)

Definition at line 2465 of file interpline.c.

Here is the caller graph for this function:

static void get_1d_line_c2e_multipl ( int  whichquantity,
int  dir,
int  interporflux,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
FTYPE(*)  p2interp[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  yin[2][NBIGM],
struct of_trueijkp trueijkp 
)
static

c2e needed functions

Get 1D line of data so can pass it to ENO scheme (used for c2e only)

Definition at line 2248 of file interpline.c.

Here is the call graph for this function:

Here is the caller graph for this function:

static void get_1d_line_shockarray ( int  dir,
int  interporflux,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
FTYPE(*)  shockarray[NSTORE1][NSTORE2][NSTORE3],
FTYPE(*)  shockindicator[NBIGM],
struct of_trueijkp trueijkp 
)
static

Get 1D line of data so can pass it to ENO scheme.

Definition at line 2698 of file interpline.c.

Here is the caller graph for this function:

static int get_contact_indicator ( int  realisinterp,
int  whichprimtype,
int  interporflux,
int  dir,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  yin[2][NBIGM],
FTYPE(*)  Vline[NBIGM],
FTYPE(*)  Pline[NBIGM],
FTYPE(*)  etai[NUMTRUEEOMSETS][NBIGM] 
)
static

currently only sets density etai, rest are 0 GODMARK

Definition at line 3289 of file interpline.c.

Here is the call graph for this function:

Here is the caller graph for this function:

static void get_df_line_gen ( int  realisinterp,
int  doingweno,
int  whichprimtype,
int  interporflux,
int  recontype,
int  dir,
int  whichreduce,
int  preforder,
int  bs,
int  ps,
int  pe,
int  be,
int *  minorder,
int *  maxorder,
int *  shift,
FTYPE(*)  yprim[2][NBIGM],
FTYPE(*)  yin[2][NBIGM],
FTYPE(*)  df[NUMDFS][NBIGM],
FTYPE(**)  drhoptr[NBIGM],
FTYPE(**)  dPptr[NBIGM],
FTYPE stiffindicator 
)
static

wrapper for compute_df_line and can be used by both c2e and other methods whichprimtype==ENOPRIMITIVE -> NPR2INTERP type else NPR types

Definition at line 1416 of file interpline.c.

Here is the call graph for this function:

static void get_df_line_gen_new ( int  realisinterp,
int  doingweno,
int  whichprimtype,
int  interporflux,
int  recontype,
int  dir,
int  whichreduce,
int  preforder,
int  bs,
int  ps,
int  pe,
int  be,
int *  minorder,
int *  maxorder,
int *  shift,
FTYPE(*)  yprim[2][NBIGM],
FTYPE(*)  yin[2][NBIGM],
FTYPE(*)  df[NUMDFS][NBIGM],
FTYPE(**)  drhoptr[NBIGM],
FTYPE(**)  dPptr[NBIGM],
FTYPE stiffindicator,
FTYPE(*)  Vline[NBIGM],
FTYPE(*)  Pline[NBIGM],
struct of_trueijkp trueijkp 
)
static

interior _perijk() functions:

wrapper for compute_df_line and can be used by both c2e and other methods

Definition at line 1475 of file interpline.c.

Here is the call graph for this function:

Here is the caller graph for this function:

static void get_df_line_paraline ( int  realisinterp,
int  doingweno,
int  whichprimtype,
int  interporflux,
int  recontype,
int  dir,
int  whichreduce,
int  preforder,
int  bs,
int  ps,
int  pe,
int  be,
int *  minorder,
int *  maxorder,
int *  shift,
FTYPE(*)  yprim[2][NBIGM],
FTYPE(*)  yin[2][NBIGM],
FTYPE(*)  df[NUMDFS][NBIGM],
FTYPE(**)  drhoptr[NBIGM],
FTYPE(**)  dPptr[NBIGM],
FTYPE stiffindicator,
FTYPE(*)  Vline[NBIGM],
FTYPE(*)  Pline[NBIGM],
struct of_trueijkp trueijkp 
)
static

wrapper for compute_df_line and can be used by both c2e and other methods

Definition at line 1541 of file interpline.c.

Here is the call graph for this function:

Here is the caller graph for this function:

static int get_recon_type ( int  interporflux)
static

get type of reconstruction to perform

Definition at line 1344 of file interpline.c.

Here is the caller graph for this function:

static int get_shock_indicator ( int  whichprimtype,
int  interporflux,
int  dir,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  yin[2][NBIGM],
FTYPE(*)  Vline[NBIGM],
FTYPE(*)  Pline[NBIGM],
FTYPE(*)  shockindicator[NBIGM],
struct of_trueijkp trueijkp 
)
static

determine shock indicator (used for both c2e and other routines, only operates on quantities with NPR elements)

Definition at line 3138 of file interpline.c.

Here is the caller graph for this function:

static int get_V_and_P ( int  whichprimtype,
int  interporflux,
int  dir,
int  bs,
int  ps,
int  pe,
int  be,
int  i,
int  j,
int  k,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  yin[2][NBIGM],
FTYPE(*)  Vline[NBIGM],
FTYPE(*)  Pline[NBIGM],
struct of_trueijkp trueijkp 
)
static

determine shock indicator (used for both c2e and other routines, only operates on quantities with NPR elements)

Definition at line 2970 of file interpline.c.

Here is the call graph for this function:

Here is the caller graph for this function:

static void set_preforder ( int  dir,
int  interporflux,
int *  preforder,
int *  whichreduce 
)
static

sets preferred order based upon scheme and size of stencil

Definition at line 1365 of file interpline.c.

Here is the caller graph for this function:

void slope_lim_linetype ( int  whichquantity,
int  interporflux,
int  dir,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  primreal[NSTORE2][NSTORE3][NPR],
FTYPE(*)  stencilvar[NSTORE2][NSTORE3][NPR],
FTYPE(*)  p2interpm[NSTORE2][NSTORE3][NPR],
FTYPE(*)  p2interpp[NSTORE2][NSTORE3][NPR],
FTYPE(*)  pleft[NSTORE2][NSTORE3][NPR],
FTYPE(*)  pright[NSTORE2][NSTORE3][NPR] 
)

linetype assumed to return pleft/pright directly since linetype's are usually higher order this function used for primitive interpolation AND for flux interpolation stencil var can be NULL or some pointer.

If a pointer, then should use to assign all stencil-related things

Definition at line 876 of file interpline.c.

Here is the call graph for this function:

void slope_lim_linetype_c2e ( int  realisinterp,
int  whichprimtype,
int  interporflux,
int  dir,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  primreal[NSTORE2][NSTORE3][NPR],
FTYPE(*)  stencilvar[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  p2interp[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  pleft[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  pright[NSTORE2][NSTORE3][NPR2INTERP] 
)

very similar to slope_lim_linetype, but different number of quantities to handle

Definition at line 302 of file interpline.c.

Here is the call graph for this function:

void slope_lim_linetype_c2e_perijk ( LINETYPEPOINTERSFUNCTIONDECLARE  ,
int  i,
int  j,
int  k,
int  realisinterp,
int  whichprimtype,
int  interporflux,
int  nprlocalstart,
int  nprlocalend,
int *  nprlocallist,
int  numprims,
int  dir,
int  intdir,
int  is,
int  ie,
int  js,
int  je,
int  ks,
int  ke,
int  di,
int  dj,
int  dk,
int  bs,
int  ps,
int  pe,
int  be,
int  recontype,
int  doingweno,
void(*)(int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*df)[NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NBIGM], FTYPE(*monoindicator)[NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystencilvar)[NBIGM], FTYPE(*yin)[NBIGM], FTYPE(*yout)[NBIGM], FTYPE(*youtpolycoef)[NBIGM], struct of_trueijkp *trueijkp)  pass_1d_line,
void(*)(int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE(*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystecilvar)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*yout)[2][NBIGM], FTYPE(*youtpolycoef)[MAXSPACEORDER][NBIGM], struct of_trueijkp *trueijkp)  pass_1d_line_multipl,
int  stencilvarisnull,
int  preforder,
int  whichreduce,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  primreal[NSTORE2][NSTORE3][NPR],
FTYPE(*)  stencilvar[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  p2interp[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  pleft[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  pright[NSTORE2][NSTORE3][NPR2INTERP] 
)
static

interior of main SUPERGENLOOP() inside slope_lim_linetype_c2e()

Definition at line 638 of file interpline.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void slope_lim_linetype_c2e_perijk_precomputeindicators ( LINETYPEPOINTERSFUNCTIONDECLARE  ,
int  i,
int  j,
int  k,
int  realisinterp,
int  whichprimtype,
int  interporflux,
int  nprlocalstart,
int  nprlocalend,
int *  nprlocallist,
int  numprims,
int  dir,
int  intdir,
int  is,
int  ie,
int  js,
int  je,
int  ks,
int  ke,
int  di,
int  dj,
int  dk,
int  bs,
int  ps,
int  pe,
int  be,
int  recontype,
int  doingweno,
void(*)(int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*df)[NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NBIGM], FTYPE(*monoindicator)[NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystencilvar)[NBIGM], FTYPE(*yin)[NBIGM], FTYPE(*yout)[NBIGM], FTYPE(*youtpolycoef)[NBIGM], struct of_trueijkp *trueijkp)  pass_1d_line,
void(*)(int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE(*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystecilvar)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*yout)[2][NBIGM], FTYPE(*youtpolycoef)[MAXSPACEORDER][NBIGM], struct of_trueijkp *trueijkp)  pass_1d_line_multipl,
int  stencilvarisnull,
int  preforder,
int  whichreduce,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  primreal[NSTORE2][NSTORE3][NPR],
FTYPE(*)  stencilvar[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  p2interp[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  pleft[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  pright[NSTORE2][NSTORE3][NPR2INTERP] 
)
static

interior of main SUPERGENLOOP() inside slope_lim_linetype_c2e()

Definition at line 467 of file interpline.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void slope_lim_linetype_perijk ( LINETYPEPOINTERSFUNCTIONDECLARE  ,
int  i,
int  j,
int  k,
int  realisinterp,
int  whichprimtype,
int  interporflux,
int  nprlocalstart,
int  nprlocalend,
int *  nprlocallist,
int  numprims,
int  dir,
int  intdir,
int  is,
int  ie,
int  js,
int  je,
int  ks,
int  ke,
int  di,
int  dj,
int  dk,
int  bs,
int  ps,
int  pe,
int  be,
int  recontype,
int  doingweno,
void(*)(int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*df)[NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NBIGM], FTYPE(*monoindicator)[NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystencilvar)[NBIGM], FTYPE(*yin)[NBIGM], FTYPE(*yout)[NBIGM], FTYPE(*youtpolycoef)[NBIGM], struct of_trueijkp *trueijkp)  pass_1d_line,
void(*)(int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE(*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystecilvar)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*yout)[2][NBIGM], FTYPE(*youtpolycoef)[MAXSPACEORDER][NBIGM], struct of_trueijkp *trueijkp)  pass_1d_line_multipl,
int  stencilvarisnull,
int  preforder,
int  whichreduce,
int  weightsplittype,
int  whichquantity,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  primreal[NSTORE2][NSTORE3][NPR],
FTYPE(*)  stencilvar[NSTORE2][NSTORE3][NPR2INTERP],
FTYPE(*)  p2interpm[NSTORE2][NSTORE3][NPR],
FTYPE(*)  p2interpp[NSTORE2][NSTORE3][NPR],
FTYPE(*)  pleft[NSTORE2][NSTORE3][NPR],
FTYPE(*)  pright[NSTORE2][NSTORE3][NPR] 
)
static

inside of SUPERGENLOOP() in slope_lim_linetype()

Definition at line 1049 of file interpline.c.

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

void(* pass_1d_line)(int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int pl, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*df)[NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NBIGM], FTYPE(*monoindicator)[NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystencilvar)[NBIGM], FTYPE(*yin)[NBIGM], FTYPE(*yout)[NBIGM], FTYPE(*youtpolycoef)[NBIGM], struct of_trueijkp *trueijkp)
static

Definition at line 289 of file interpline.c.

void(* pass_1d_line_multipl)(int MULTIPLTYPE, int whichquantity, int dir, int do_weight_or_recon, int recontype, int whichreduce, int preforder, int bs, int ps, int pe, int be, int *minorder, int *maxorder, int *shift, FTYPE(*shockindicator)[NBIGM], FTYPE *stiffindicator, FTYPE(*Vline)[NBIGM], FTYPE(*Pline)[NBIGM], FTYPE(*df)[NUMDFS][NBIGM], FTYPE(*dP)[NBIGM], FTYPE(*etai)[NUMTRUEEOMSETS][NBIGM], FTYPE(*monoindicator)[NUMMONOINDICATORS][NBIGM], FTYPE(*yprim)[2][NBIGM], FTYPE(*ystecilvar)[2][NBIGM], FTYPE(*yin)[2][NBIGM], FTYPE(*yout)[2][NBIGM], FTYPE(*youtpolycoef)[MAXSPACEORDER][NBIGM], struct of_trueijkp *trueijkp)
static

Definition at line 290 of file interpline.c.