From 767d5f62aa1957628a1d47f1f5ac7526910ae443 Mon Sep 17 00:00:00 2001 From: manauref Date: Tue, 25 Jul 2023 17:10:42 -0700 Subject: [PATCH] Fix euler_pkpm kernels/signatures and use. There'd been conflicts in previous commit (or maybe there hadn't been because I forgot to add new kernels) and I hadn't seen them. They are mostly related to inconsistent signatures. I made the following hack for now to get it working: L12 of zero/gkyl_dg_euler_pkpm.h I added moms, and L149-151 of zero/gkyl_dg_euler_pkpm_priv.h I added getching of moms. This may be incorrect, it's just a hack to get the system working. @JunoRavin will resolve conflicts later. --- kernels/pkpm/euler_pkpm_surfx_1x_ser_p1.c | 67 +++- kernels/pkpm/euler_pkpm_surfx_1x_ser_p2.c | 67 +++- kernels/pkpm/euler_pkpm_surfx_2x_ser_p1.c | 260 +++++++------- kernels/pkpm/euler_pkpm_surfx_3x_ser_p1.c | 406 +++++++++++----------- kernels/pkpm/euler_pkpm_surfy_2x_ser_p1.c | 260 +++++++------- kernels/pkpm/euler_pkpm_surfy_3x_ser_p1.c | 406 +++++++++++----------- kernels/pkpm/euler_pkpm_surfz_3x_ser_p1.c | 406 +++++++++++----------- kernels/pkpm/gkyl_euler_pkpm_kernels.h | 207 +++++------ zero/gkyl_dg_euler_pkpm.h | 1 + zero/gkyl_dg_euler_pkpm_priv.h | 8 +- 10 files changed, 1100 insertions(+), 988 deletions(-) diff --git a/kernels/pkpm/euler_pkpm_surfx_1x_ser_p1.c b/kernels/pkpm/euler_pkpm_surfx_1x_ser_p1.c index 685c0f7b5..2feba4498 100644 --- a/kernels/pkpm/euler_pkpm_surfx_1x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_surfx_1x_ser_p1.c @@ -1,15 +1,17 @@ #include #include -GKYL_CU_DH void euler_pkpm_surfx_1x_ser_p1(const double *w, const double *dxv, +GKYL_CU_DH double euler_pkpm_surfx_1x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, const double *u_il, const double *u_ic, const double *u_ir, const double *T_ijl, const double *T_ijc, const double *T_ijr, const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out) { // w[NDIM]: Cell-center coordinates. // dxv[NDIM]: Cell spacing. + // vlasov_pkpm_momsl/vlasov_pkpm_momsc/vlasov_pkpm_momsr: Input pkpm moments in left/center/right cells. // u_il/u_ic/u_ir: Input bulk velocity (ux,uy,uz) in left/center/right cells. // T_ijl/T_ijc/T_ijr: Input Temperature tensor/mass (for penalization) in left/center/right cells. - // statevecl/statevecc/statevecr: [rho ux, rho uy, rho uz, p_perp], Fluid input state vector in left/center/right cells. + // statevecl/statevecc/statevecr: [rho ux, rho uy, rho uz], Fluid input state vector in left/center/right cells. // out: Incremented output. const double dx1 = 2.0/dxv[0]; @@ -26,10 +28,22 @@ GKYL_CU_DH void euler_pkpm_surfx_1x_ser_p1(const double *w, const double *dxv, const double *rhouy_r = &statevecr[2]; const double *rhouz_r = &statevecr[4]; + const double *rho_l = &vlasov_pkpm_momsl[0]; + const double *rho_c = &vlasov_pkpm_momsc[0]; + const double *rho_r = &vlasov_pkpm_momsr[0]; + const double *ux_l = &u_il[0]; const double *ux_c = &u_ic[0]; const double *ux_r = &u_ir[0]; + const double *uy_l = &u_il[2]; + const double *uy_c = &u_ic[2]; + const double *uy_r = &u_ir[2]; + + const double *uz_l = &u_il[4]; + const double *uz_c = &u_ic[4]; + const double *uz_r = &u_ir[4]; + const double *vth_sql = &T_ijl[0]; const double *vth_sqc = &T_ijc[0]; const double *vth_sqr = &T_ijr[0]; @@ -38,28 +52,51 @@ GKYL_CU_DH void euler_pkpm_surfx_1x_ser_p1(const double *w, const double *dxv, double *outrhou1 = &out[2]; double *outrhou2 = &out[4]; - double ux_l_r = ser_1x_p1_surfx1_eval_quad_node_0_r(ux_l); - double ux_c_l = ser_1x_p1_surfx1_eval_quad_node_0_l(ux_c); - double ux_c_r = ser_1x_p1_surfx1_eval_quad_node_0_r(ux_c); - double ux_r_l = ser_1x_p1_surfx1_eval_quad_node_0_l(ux_r); + double Ghat_rhoux_l = 0.0; + double Ghat_rhoux_r = 0.0; + double Ghat_rhouy_l = 0.0; + double Ghat_rhouy_r = 0.0; + double Ghat_rhouz_l = 0.0; + double Ghat_rhouz_r = 0.0; + double uxl_r = ser_1x_p1_surfx1_eval_quad_node_0_r(ux_l); + double uxc_l = ser_1x_p1_surfx1_eval_quad_node_0_l(ux_c); + double uxc_r = ser_1x_p1_surfx1_eval_quad_node_0_r(ux_c); + double uxr_l = ser_1x_p1_surfx1_eval_quad_node_0_l(ux_r); + + double uxl_r_sq = uxl_r*uxl_r; + double uxc_l_sq = uxc_l*uxc_l; + double uxc_r_sq = uxc_r*uxc_r; + double uxr_l_sq = uxr_l*uxr_l; + + double uyl_r = ser_1x_p1_surfx1_eval_quad_node_0_r(uy_l); + double uyc_l = ser_1x_p1_surfx1_eval_quad_node_0_l(uy_c); + double uyc_r = ser_1x_p1_surfx1_eval_quad_node_0_r(uy_c); + double uyr_l = ser_1x_p1_surfx1_eval_quad_node_0_l(uy_r); + + double uzl_r = ser_1x_p1_surfx1_eval_quad_node_0_r(uz_l); + double uzc_l = ser_1x_p1_surfx1_eval_quad_node_0_l(uz_c); + double uzc_r = ser_1x_p1_surfx1_eval_quad_node_0_r(uz_c); + double uzr_l = ser_1x_p1_surfx1_eval_quad_node_0_l(uz_r); + double vth_sq_l_r = ser_1x_p1_surfx1_eval_quad_node_0_r(vth_sql); double vth_sq_c_l = ser_1x_p1_surfx1_eval_quad_node_0_l(vth_sqc); double vth_sq_c_r = ser_1x_p1_surfx1_eval_quad_node_0_r(vth_sqc); double vth_sq_r_l = ser_1x_p1_surfx1_eval_quad_node_0_l(vth_sqr); - double ux_max_l = fmax(fabs(ux_l_r), fabs(ux_c_l)); - double ux_max_r = fmax(fabs(ux_c_r), fabs(ux_r_l)); + double ux_max_l = fmax(fabs(uxl_r), fabs(uxc_l)); + double ux_max_r = fmax(fabs(uxc_r), fabs(uxr_l)); double vth_max_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); double vth_max_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); double max_speed_l = ux_max_l + vth_max_l; double max_speed_r = ux_max_r + vth_max_r; - double Ghat_rhoux_l = 0.6123724356957945*rhoux_l[1]*ux_l_r+0.3535533905932737*rhoux_l[0]*ux_l_r-0.6123724356957945*rhoux_c[1]*ux_c_l+0.3535533905932737*rhoux_c[0]*ux_c_l+0.6123724356957945*rhoux_l[1]*max_speed_l+0.6123724356957945*rhoux_c[1]*max_speed_l+0.3535533905932737*rhoux_l[0]*max_speed_l-0.3535533905932737*rhoux_c[0]*max_speed_l; - double Ghat_rhoux_r = (-0.6123724356957945*rhoux_r[1]*ux_r_l)+0.3535533905932737*rhoux_r[0]*ux_r_l+0.6123724356957945*rhoux_c[1]*ux_c_r+0.3535533905932737*rhoux_c[0]*ux_c_r+0.6123724356957945*rhoux_r[1]*max_speed_r+0.6123724356957945*rhoux_c[1]*max_speed_r-0.3535533905932737*rhoux_r[0]*max_speed_r+0.3535533905932737*rhoux_c[0]*max_speed_r; - double Ghat_rhouy_l = 0.6123724356957945*rhouy_l[1]*ux_l_r+0.3535533905932737*rhouy_l[0]*ux_l_r-0.6123724356957945*rhouy_c[1]*ux_c_l+0.3535533905932737*rhouy_c[0]*ux_c_l+0.6123724356957945*rhouy_l[1]*max_speed_l+0.6123724356957945*rhouy_c[1]*max_speed_l+0.3535533905932737*rhouy_l[0]*max_speed_l-0.3535533905932737*rhouy_c[0]*max_speed_l; - double Ghat_rhouy_r = (-0.6123724356957945*rhouy_r[1]*ux_r_l)+0.3535533905932737*rhouy_r[0]*ux_r_l+0.6123724356957945*rhouy_c[1]*ux_c_r+0.3535533905932737*rhouy_c[0]*ux_c_r+0.6123724356957945*rhouy_r[1]*max_speed_r+0.6123724356957945*rhouy_c[1]*max_speed_r-0.3535533905932737*rhouy_r[0]*max_speed_r+0.3535533905932737*rhouy_c[0]*max_speed_r; - double Ghat_rhouz_l = 0.6123724356957945*rhouz_l[1]*ux_l_r+0.3535533905932737*rhouz_l[0]*ux_l_r-0.6123724356957945*rhouz_c[1]*ux_c_l+0.3535533905932737*rhouz_c[0]*ux_c_l+0.6123724356957945*rhouz_l[1]*max_speed_l+0.6123724356957945*rhouz_c[1]*max_speed_l+0.3535533905932737*rhouz_l[0]*max_speed_l-0.3535533905932737*rhouz_c[0]*max_speed_l; - double Ghat_rhouz_r = (-0.6123724356957945*rhouz_r[1]*ux_r_l)+0.3535533905932737*rhouz_r[0]*ux_r_l+0.6123724356957945*rhouz_c[1]*ux_c_r+0.3535533905932737*rhouz_c[0]*ux_c_r+0.6123724356957945*rhouz_r[1]*max_speed_r+0.6123724356957945*rhouz_c[1]*max_speed_r-0.3535533905932737*rhouz_r[0]*max_speed_r+0.3535533905932737*rhouz_c[0]*max_speed_r; + Ghat_rhoux_l = 0.1530931089239486*rho_l[1]*uxl_r_sq-0.1530931089239486*rho_c[1]*uxl_r_sq+0.0883883476483184*rho_l[0]*uxl_r_sq+0.0883883476483184*rho_c[0]*uxl_r_sq+0.3061862178478971*rho_l[1]*uxc_l*uxl_r-0.3061862178478971*rho_c[1]*uxc_l*uxl_r+0.1767766952966368*rho_l[0]*uxc_l*uxl_r+0.1767766952966368*rho_c[0]*uxc_l*uxl_r+0.1530931089239486*rho_l[1]*uxc_l_sq-0.1530931089239486*rho_c[1]*uxc_l_sq+0.0883883476483184*rho_l[0]*uxc_l_sq+0.0883883476483184*rho_c[0]*uxc_l_sq+0.6123724356957944*rhoux_l[1]*max_speed_l+0.6123724356957944*rhoux_c[1]*max_speed_l+0.3535533905932737*rhoux_l[0]*max_speed_l-0.3535533905932737*rhoux_c[0]*max_speed_l; + Ghat_rhouy_l = 0.1530931089239486*rho_l[1]*uxl_r*uyl_r-0.1530931089239486*rho_c[1]*uxl_r*uyl_r+0.08838834764831843*rho_l[0]*uxl_r*uyl_r+0.08838834764831843*rho_c[0]*uxl_r*uyl_r+0.1530931089239486*rho_l[1]*uxc_l*uyl_r-0.1530931089239486*rho_c[1]*uxc_l*uyl_r+0.08838834764831843*rho_l[0]*uxc_l*uyl_r+0.08838834764831843*rho_c[0]*uxc_l*uyl_r+0.1530931089239486*rho_l[1]*uxl_r*uyc_l-0.1530931089239486*rho_c[1]*uxl_r*uyc_l+0.08838834764831843*rho_l[0]*uxl_r*uyc_l+0.08838834764831843*rho_c[0]*uxl_r*uyc_l+0.1530931089239486*rho_l[1]*uxc_l*uyc_l-0.1530931089239486*rho_c[1]*uxc_l*uyc_l+0.08838834764831843*rho_l[0]*uxc_l*uyc_l+0.08838834764831843*rho_c[0]*uxc_l*uyc_l+0.6123724356957945*rhouy_l[1]*max_speed_l+0.6123724356957945*rhouy_c[1]*max_speed_l+0.3535533905932737*rhouy_l[0]*max_speed_l-0.3535533905932737*rhouy_c[0]*max_speed_l; + Ghat_rhouz_l = 0.1530931089239486*rho_l[1]*uxl_r*uzl_r-0.1530931089239486*rho_c[1]*uxl_r*uzl_r+0.08838834764831843*rho_l[0]*uxl_r*uzl_r+0.08838834764831843*rho_c[0]*uxl_r*uzl_r+0.1530931089239486*rho_l[1]*uxc_l*uzl_r-0.1530931089239486*rho_c[1]*uxc_l*uzl_r+0.08838834764831843*rho_l[0]*uxc_l*uzl_r+0.08838834764831843*rho_c[0]*uxc_l*uzl_r+0.1530931089239486*rho_l[1]*uxl_r*uzc_l-0.1530931089239486*rho_c[1]*uxl_r*uzc_l+0.08838834764831843*rho_l[0]*uxl_r*uzc_l+0.08838834764831843*rho_c[0]*uxl_r*uzc_l+0.1530931089239486*rho_l[1]*uxc_l*uzc_l-0.1530931089239486*rho_c[1]*uxc_l*uzc_l+0.08838834764831843*rho_l[0]*uxc_l*uzc_l+0.08838834764831843*rho_c[0]*uxc_l*uzc_l+0.6123724356957945*rhouz_l[1]*max_speed_l+0.6123724356957945*rhouz_c[1]*max_speed_l+0.3535533905932737*rhouz_l[0]*max_speed_l-0.3535533905932737*rhouz_c[0]*max_speed_l; + Ghat_rhoux_r = (-0.1530931089239486*rho_r[1]*uxr_l_sq)+0.1530931089239486*rho_c[1]*uxr_l_sq+0.0883883476483184*rho_r[0]*uxr_l_sq+0.0883883476483184*rho_c[0]*uxr_l_sq-0.3061862178478971*rho_r[1]*uxc_r*uxr_l+0.3061862178478971*rho_c[1]*uxc_r*uxr_l+0.1767766952966368*rho_r[0]*uxc_r*uxr_l+0.1767766952966368*rho_c[0]*uxc_r*uxr_l-0.1530931089239486*rho_r[1]*uxc_r_sq+0.1530931089239486*rho_c[1]*uxc_r_sq+0.0883883476483184*rho_r[0]*uxc_r_sq+0.0883883476483184*rho_c[0]*uxc_r_sq+0.6123724356957944*rhoux_r[1]*max_speed_r+0.6123724356957944*rhoux_c[1]*max_speed_r-0.3535533905932737*rhoux_r[0]*max_speed_r+0.3535533905932737*rhoux_c[0]*max_speed_r; + Ghat_rhouy_r = (-0.1530931089239486*rho_r[1]*uxr_l*uyr_l)+0.1530931089239486*rho_c[1]*uxr_l*uyr_l+0.08838834764831843*rho_r[0]*uxr_l*uyr_l+0.08838834764831843*rho_c[0]*uxr_l*uyr_l-0.1530931089239486*rho_r[1]*uxc_r*uyr_l+0.1530931089239486*rho_c[1]*uxc_r*uyr_l+0.08838834764831843*rho_r[0]*uxc_r*uyr_l+0.08838834764831843*rho_c[0]*uxc_r*uyr_l-0.1530931089239486*rho_r[1]*uxr_l*uyc_r+0.1530931089239486*rho_c[1]*uxr_l*uyc_r+0.08838834764831843*rho_r[0]*uxr_l*uyc_r+0.08838834764831843*rho_c[0]*uxr_l*uyc_r-0.1530931089239486*rho_r[1]*uxc_r*uyc_r+0.1530931089239486*rho_c[1]*uxc_r*uyc_r+0.08838834764831843*rho_r[0]*uxc_r*uyc_r+0.08838834764831843*rho_c[0]*uxc_r*uyc_r+0.6123724356957945*rhouy_r[1]*max_speed_r+0.6123724356957945*rhouy_c[1]*max_speed_r-0.3535533905932737*rhouy_r[0]*max_speed_r+0.3535533905932737*rhouy_c[0]*max_speed_r; + Ghat_rhouz_r = (-0.1530931089239486*rho_r[1]*uxr_l*uzr_l)+0.1530931089239486*rho_c[1]*uxr_l*uzr_l+0.08838834764831843*rho_r[0]*uxr_l*uzr_l+0.08838834764831843*rho_c[0]*uxr_l*uzr_l-0.1530931089239486*rho_r[1]*uxc_r*uzr_l+0.1530931089239486*rho_c[1]*uxc_r*uzr_l+0.08838834764831843*rho_r[0]*uxc_r*uzr_l+0.08838834764831843*rho_c[0]*uxc_r*uzr_l-0.1530931089239486*rho_r[1]*uxr_l*uzc_r+0.1530931089239486*rho_c[1]*uxr_l*uzc_r+0.08838834764831843*rho_r[0]*uxr_l*uzc_r+0.08838834764831843*rho_c[0]*uxr_l*uzc_r-0.1530931089239486*rho_r[1]*uxc_r*uzc_r+0.1530931089239486*rho_c[1]*uxc_r*uzc_r+0.08838834764831843*rho_r[0]*uxc_r*uzc_r+0.08838834764831843*rho_c[0]*uxc_r*uzc_r+0.6123724356957945*rhouz_r[1]*max_speed_r+0.6123724356957945*rhouz_c[1]*max_speed_r-0.3535533905932737*rhouz_r[0]*max_speed_r+0.3535533905932737*rhouz_c[0]*max_speed_r; + outrhou0[0] += 0.7071067811865475*Ghat_rhoux_l*dx1-0.7071067811865475*Ghat_rhoux_r*dx1; outrhou0[1] += (-1.224744871391589*Ghat_rhoux_r*dx1)-1.224744871391589*Ghat_rhoux_l*dx1; @@ -69,4 +106,6 @@ GKYL_CU_DH void euler_pkpm_surfx_1x_ser_p1(const double *w, const double *dxv, outrhou2[0] += 0.7071067811865475*Ghat_rhouz_l*dx1-0.7071067811865475*Ghat_rhouz_r*dx1; outrhou2[1] += (-1.224744871391589*Ghat_rhouz_r*dx1)-1.224744871391589*Ghat_rhouz_l*dx1; + return 0.; + } diff --git a/kernels/pkpm/euler_pkpm_surfx_1x_ser_p2.c b/kernels/pkpm/euler_pkpm_surfx_1x_ser_p2.c index 047627bba..9fd076d7e 100644 --- a/kernels/pkpm/euler_pkpm_surfx_1x_ser_p2.c +++ b/kernels/pkpm/euler_pkpm_surfx_1x_ser_p2.c @@ -1,15 +1,17 @@ #include #include -GKYL_CU_DH void euler_pkpm_surfx_1x_ser_p2(const double *w, const double *dxv, +GKYL_CU_DH double euler_pkpm_surfx_1x_ser_p2(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, const double *u_il, const double *u_ic, const double *u_ir, const double *T_ijl, const double *T_ijc, const double *T_ijr, const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out) { // w[NDIM]: Cell-center coordinates. // dxv[NDIM]: Cell spacing. + // vlasov_pkpm_momsl/vlasov_pkpm_momsc/vlasov_pkpm_momsr: Input pkpm moments in left/center/right cells. // u_il/u_ic/u_ir: Input bulk velocity (ux,uy,uz) in left/center/right cells. // T_ijl/T_ijc/T_ijr: Input Temperature tensor/mass (for penalization) in left/center/right cells. - // statevecl/statevecc/statevecr: [rho ux, rho uy, rho uz, p_perp], Fluid input state vector in left/center/right cells. + // statevecl/statevecc/statevecr: [rho ux, rho uy, rho uz], Fluid input state vector in left/center/right cells. // out: Incremented output. const double dx1 = 2.0/dxv[0]; @@ -26,10 +28,22 @@ GKYL_CU_DH void euler_pkpm_surfx_1x_ser_p2(const double *w, const double *dxv, const double *rhouy_r = &statevecr[3]; const double *rhouz_r = &statevecr[6]; + const double *rho_l = &vlasov_pkpm_momsl[0]; + const double *rho_c = &vlasov_pkpm_momsc[0]; + const double *rho_r = &vlasov_pkpm_momsr[0]; + const double *ux_l = &u_il[0]; const double *ux_c = &u_ic[0]; const double *ux_r = &u_ir[0]; + const double *uy_l = &u_il[3]; + const double *uy_c = &u_ic[3]; + const double *uy_r = &u_ir[3]; + + const double *uz_l = &u_il[6]; + const double *uz_c = &u_ic[6]; + const double *uz_r = &u_ir[6]; + const double *vth_sql = &T_ijl[0]; const double *vth_sqc = &T_ijc[0]; const double *vth_sqr = &T_ijr[0]; @@ -38,28 +52,51 @@ GKYL_CU_DH void euler_pkpm_surfx_1x_ser_p2(const double *w, const double *dxv, double *outrhou1 = &out[3]; double *outrhou2 = &out[6]; - double ux_l_r = ser_1x_p2_surfx1_eval_quad_node_0_r(ux_l); - double ux_c_l = ser_1x_p2_surfx1_eval_quad_node_0_l(ux_c); - double ux_c_r = ser_1x_p2_surfx1_eval_quad_node_0_r(ux_c); - double ux_r_l = ser_1x_p2_surfx1_eval_quad_node_0_l(ux_r); + double Ghat_rhoux_l = 0.0; + double Ghat_rhoux_r = 0.0; + double Ghat_rhouy_l = 0.0; + double Ghat_rhouy_r = 0.0; + double Ghat_rhouz_l = 0.0; + double Ghat_rhouz_r = 0.0; + double uxl_r = ser_1x_p2_surfx1_eval_quad_node_0_r(ux_l); + double uxc_l = ser_1x_p2_surfx1_eval_quad_node_0_l(ux_c); + double uxc_r = ser_1x_p2_surfx1_eval_quad_node_0_r(ux_c); + double uxr_l = ser_1x_p2_surfx1_eval_quad_node_0_l(ux_r); + + double uxl_r_sq = uxl_r*uxl_r; + double uxc_l_sq = uxc_l*uxc_l; + double uxc_r_sq = uxc_r*uxc_r; + double uxr_l_sq = uxr_l*uxr_l; + + double uyl_r = ser_1x_p2_surfx1_eval_quad_node_0_r(uy_l); + double uyc_l = ser_1x_p2_surfx1_eval_quad_node_0_l(uy_c); + double uyc_r = ser_1x_p2_surfx1_eval_quad_node_0_r(uy_c); + double uyr_l = ser_1x_p2_surfx1_eval_quad_node_0_l(uy_r); + + double uzl_r = ser_1x_p2_surfx1_eval_quad_node_0_r(uz_l); + double uzc_l = ser_1x_p2_surfx1_eval_quad_node_0_l(uz_c); + double uzc_r = ser_1x_p2_surfx1_eval_quad_node_0_r(uz_c); + double uzr_l = ser_1x_p2_surfx1_eval_quad_node_0_l(uz_r); + double vth_sq_l_r = ser_1x_p2_surfx1_eval_quad_node_0_r(vth_sql); double vth_sq_c_l = ser_1x_p2_surfx1_eval_quad_node_0_l(vth_sqc); double vth_sq_c_r = ser_1x_p2_surfx1_eval_quad_node_0_r(vth_sqc); double vth_sq_r_l = ser_1x_p2_surfx1_eval_quad_node_0_l(vth_sqr); - double ux_max_l = fmax(fabs(ux_l_r), fabs(ux_c_l)); - double ux_max_r = fmax(fabs(ux_c_r), fabs(ux_r_l)); + double ux_max_l = fmax(fabs(uxl_r), fabs(uxc_l)); + double ux_max_r = fmax(fabs(uxc_r), fabs(uxr_l)); double vth_max_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); double vth_max_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); double max_speed_l = ux_max_l + vth_max_l; double max_speed_r = ux_max_r + vth_max_r; - double Ghat_rhoux_l = 0.7905694150420948*rhoux_l[2]*ux_l_r+0.6123724356957945*rhoux_l[1]*ux_l_r+0.3535533905932737*rhoux_l[0]*ux_l_r+0.7905694150420948*rhoux_c[2]*ux_c_l-0.6123724356957945*rhoux_c[1]*ux_c_l+0.3535533905932737*rhoux_c[0]*ux_c_l+0.7905694150420948*rhoux_l[2]*max_speed_l-0.7905694150420948*rhoux_c[2]*max_speed_l+0.6123724356957945*rhoux_l[1]*max_speed_l+0.6123724356957945*rhoux_c[1]*max_speed_l+0.3535533905932737*rhoux_l[0]*max_speed_l-0.3535533905932737*rhoux_c[0]*max_speed_l; - double Ghat_rhoux_r = 0.7905694150420948*rhoux_r[2]*ux_r_l-0.6123724356957945*rhoux_r[1]*ux_r_l+0.3535533905932737*rhoux_r[0]*ux_r_l+0.7905694150420948*rhoux_c[2]*ux_c_r+0.6123724356957945*rhoux_c[1]*ux_c_r+0.3535533905932737*rhoux_c[0]*ux_c_r-0.7905694150420948*rhoux_r[2]*max_speed_r+0.7905694150420948*rhoux_c[2]*max_speed_r+0.6123724356957945*rhoux_r[1]*max_speed_r+0.6123724356957945*rhoux_c[1]*max_speed_r-0.3535533905932737*rhoux_r[0]*max_speed_r+0.3535533905932737*rhoux_c[0]*max_speed_r; - double Ghat_rhouy_l = 0.7905694150420948*rhouy_l[2]*ux_l_r+0.6123724356957945*rhouy_l[1]*ux_l_r+0.3535533905932737*rhouy_l[0]*ux_l_r+0.7905694150420948*rhouy_c[2]*ux_c_l-0.6123724356957945*rhouy_c[1]*ux_c_l+0.3535533905932737*rhouy_c[0]*ux_c_l+0.7905694150420948*rhouy_l[2]*max_speed_l-0.7905694150420948*rhouy_c[2]*max_speed_l+0.6123724356957945*rhouy_l[1]*max_speed_l+0.6123724356957945*rhouy_c[1]*max_speed_l+0.3535533905932737*rhouy_l[0]*max_speed_l-0.3535533905932737*rhouy_c[0]*max_speed_l; - double Ghat_rhouy_r = 0.7905694150420948*rhouy_r[2]*ux_r_l-0.6123724356957945*rhouy_r[1]*ux_r_l+0.3535533905932737*rhouy_r[0]*ux_r_l+0.7905694150420948*rhouy_c[2]*ux_c_r+0.6123724356957945*rhouy_c[1]*ux_c_r+0.3535533905932737*rhouy_c[0]*ux_c_r-0.7905694150420948*rhouy_r[2]*max_speed_r+0.7905694150420948*rhouy_c[2]*max_speed_r+0.6123724356957945*rhouy_r[1]*max_speed_r+0.6123724356957945*rhouy_c[1]*max_speed_r-0.3535533905932737*rhouy_r[0]*max_speed_r+0.3535533905932737*rhouy_c[0]*max_speed_r; - double Ghat_rhouz_l = 0.7905694150420948*rhouz_l[2]*ux_l_r+0.6123724356957945*rhouz_l[1]*ux_l_r+0.3535533905932737*rhouz_l[0]*ux_l_r+0.7905694150420948*rhouz_c[2]*ux_c_l-0.6123724356957945*rhouz_c[1]*ux_c_l+0.3535533905932737*rhouz_c[0]*ux_c_l+0.7905694150420948*rhouz_l[2]*max_speed_l-0.7905694150420948*rhouz_c[2]*max_speed_l+0.6123724356957945*rhouz_l[1]*max_speed_l+0.6123724356957945*rhouz_c[1]*max_speed_l+0.3535533905932737*rhouz_l[0]*max_speed_l-0.3535533905932737*rhouz_c[0]*max_speed_l; - double Ghat_rhouz_r = 0.7905694150420948*rhouz_r[2]*ux_r_l-0.6123724356957945*rhouz_r[1]*ux_r_l+0.3535533905932737*rhouz_r[0]*ux_r_l+0.7905694150420948*rhouz_c[2]*ux_c_r+0.6123724356957945*rhouz_c[1]*ux_c_r+0.3535533905932737*rhouz_c[0]*ux_c_r-0.7905694150420948*rhouz_r[2]*max_speed_r+0.7905694150420948*rhouz_c[2]*max_speed_r+0.6123724356957945*rhouz_r[1]*max_speed_r+0.6123724356957945*rhouz_c[1]*max_speed_r-0.3535533905932737*rhouz_r[0]*max_speed_r+0.3535533905932737*rhouz_c[0]*max_speed_r; + Ghat_rhoux_l = 0.1976423537605236*rho_l[2]*uxl_r_sq+0.1976423537605236*rho_c[2]*uxl_r_sq+0.1530931089239486*rho_l[1]*uxl_r_sq-0.1530931089239486*rho_c[1]*uxl_r_sq+0.0883883476483184*rho_l[0]*uxl_r_sq+0.0883883476483184*rho_c[0]*uxl_r_sq+0.3952847075210473*rho_l[2]*uxc_l*uxl_r+0.3952847075210473*rho_c[2]*uxc_l*uxl_r+0.3061862178478971*rho_l[1]*uxc_l*uxl_r-0.3061862178478971*rho_c[1]*uxc_l*uxl_r+0.1767766952966368*rho_l[0]*uxc_l*uxl_r+0.1767766952966368*rho_c[0]*uxc_l*uxl_r+0.1976423537605236*rho_l[2]*uxc_l_sq+0.1976423537605236*rho_c[2]*uxc_l_sq+0.1530931089239486*rho_l[1]*uxc_l_sq-0.1530931089239486*rho_c[1]*uxc_l_sq+0.0883883476483184*rho_l[0]*uxc_l_sq+0.0883883476483184*rho_c[0]*uxc_l_sq+0.7905694150420947*rhoux_l[2]*max_speed_l-0.7905694150420947*rhoux_c[2]*max_speed_l+0.6123724356957944*rhoux_l[1]*max_speed_l+0.6123724356957944*rhoux_c[1]*max_speed_l+0.3535533905932737*rhoux_l[0]*max_speed_l-0.3535533905932737*rhoux_c[0]*max_speed_l; + Ghat_rhouy_l = 0.1976423537605237*rho_l[2]*uxl_r*uyl_r+0.1976423537605237*rho_c[2]*uxl_r*uyl_r+0.1530931089239486*rho_l[1]*uxl_r*uyl_r-0.1530931089239486*rho_c[1]*uxl_r*uyl_r+0.08838834764831843*rho_l[0]*uxl_r*uyl_r+0.08838834764831843*rho_c[0]*uxl_r*uyl_r+0.1976423537605237*rho_l[2]*uxc_l*uyl_r+0.1976423537605237*rho_c[2]*uxc_l*uyl_r+0.1530931089239486*rho_l[1]*uxc_l*uyl_r-0.1530931089239486*rho_c[1]*uxc_l*uyl_r+0.08838834764831843*rho_l[0]*uxc_l*uyl_r+0.08838834764831843*rho_c[0]*uxc_l*uyl_r+0.1976423537605237*rho_l[2]*uxl_r*uyc_l+0.1976423537605237*rho_c[2]*uxl_r*uyc_l+0.1530931089239486*rho_l[1]*uxl_r*uyc_l-0.1530931089239486*rho_c[1]*uxl_r*uyc_l+0.08838834764831843*rho_l[0]*uxl_r*uyc_l+0.08838834764831843*rho_c[0]*uxl_r*uyc_l+0.1976423537605237*rho_l[2]*uxc_l*uyc_l+0.1976423537605237*rho_c[2]*uxc_l*uyc_l+0.1530931089239486*rho_l[1]*uxc_l*uyc_l-0.1530931089239486*rho_c[1]*uxc_l*uyc_l+0.08838834764831843*rho_l[0]*uxc_l*uyc_l+0.08838834764831843*rho_c[0]*uxc_l*uyc_l+0.7905694150420948*rhouy_l[2]*max_speed_l-0.7905694150420948*rhouy_c[2]*max_speed_l+0.6123724356957945*rhouy_l[1]*max_speed_l+0.6123724356957945*rhouy_c[1]*max_speed_l+0.3535533905932737*rhouy_l[0]*max_speed_l-0.3535533905932737*rhouy_c[0]*max_speed_l; + Ghat_rhouz_l = 0.1976423537605237*rho_l[2]*uxl_r*uzl_r+0.1976423537605237*rho_c[2]*uxl_r*uzl_r+0.1530931089239486*rho_l[1]*uxl_r*uzl_r-0.1530931089239486*rho_c[1]*uxl_r*uzl_r+0.08838834764831843*rho_l[0]*uxl_r*uzl_r+0.08838834764831843*rho_c[0]*uxl_r*uzl_r+0.1976423537605237*rho_l[2]*uxc_l*uzl_r+0.1976423537605237*rho_c[2]*uxc_l*uzl_r+0.1530931089239486*rho_l[1]*uxc_l*uzl_r-0.1530931089239486*rho_c[1]*uxc_l*uzl_r+0.08838834764831843*rho_l[0]*uxc_l*uzl_r+0.08838834764831843*rho_c[0]*uxc_l*uzl_r+0.1976423537605237*rho_l[2]*uxl_r*uzc_l+0.1976423537605237*rho_c[2]*uxl_r*uzc_l+0.1530931089239486*rho_l[1]*uxl_r*uzc_l-0.1530931089239486*rho_c[1]*uxl_r*uzc_l+0.08838834764831843*rho_l[0]*uxl_r*uzc_l+0.08838834764831843*rho_c[0]*uxl_r*uzc_l+0.1976423537605237*rho_l[2]*uxc_l*uzc_l+0.1976423537605237*rho_c[2]*uxc_l*uzc_l+0.1530931089239486*rho_l[1]*uxc_l*uzc_l-0.1530931089239486*rho_c[1]*uxc_l*uzc_l+0.08838834764831843*rho_l[0]*uxc_l*uzc_l+0.08838834764831843*rho_c[0]*uxc_l*uzc_l+0.7905694150420948*rhouz_l[2]*max_speed_l-0.7905694150420948*rhouz_c[2]*max_speed_l+0.6123724356957945*rhouz_l[1]*max_speed_l+0.6123724356957945*rhouz_c[1]*max_speed_l+0.3535533905932737*rhouz_l[0]*max_speed_l-0.3535533905932737*rhouz_c[0]*max_speed_l; + Ghat_rhoux_r = 0.1976423537605236*rho_r[2]*uxr_l_sq+0.1976423537605236*rho_c[2]*uxr_l_sq-0.1530931089239486*rho_r[1]*uxr_l_sq+0.1530931089239486*rho_c[1]*uxr_l_sq+0.0883883476483184*rho_r[0]*uxr_l_sq+0.0883883476483184*rho_c[0]*uxr_l_sq+0.3952847075210473*rho_r[2]*uxc_r*uxr_l+0.3952847075210473*rho_c[2]*uxc_r*uxr_l-0.3061862178478971*rho_r[1]*uxc_r*uxr_l+0.3061862178478971*rho_c[1]*uxc_r*uxr_l+0.1767766952966368*rho_r[0]*uxc_r*uxr_l+0.1767766952966368*rho_c[0]*uxc_r*uxr_l+0.1976423537605236*rho_r[2]*uxc_r_sq+0.1976423537605236*rho_c[2]*uxc_r_sq-0.1530931089239486*rho_r[1]*uxc_r_sq+0.1530931089239486*rho_c[1]*uxc_r_sq+0.0883883476483184*rho_r[0]*uxc_r_sq+0.0883883476483184*rho_c[0]*uxc_r_sq-0.7905694150420947*rhoux_r[2]*max_speed_r+0.7905694150420947*rhoux_c[2]*max_speed_r+0.6123724356957944*rhoux_r[1]*max_speed_r+0.6123724356957944*rhoux_c[1]*max_speed_r-0.3535533905932737*rhoux_r[0]*max_speed_r+0.3535533905932737*rhoux_c[0]*max_speed_r; + Ghat_rhouy_r = 0.1976423537605237*rho_r[2]*uxr_l*uyr_l+0.1976423537605237*rho_c[2]*uxr_l*uyr_l-0.1530931089239486*rho_r[1]*uxr_l*uyr_l+0.1530931089239486*rho_c[1]*uxr_l*uyr_l+0.08838834764831843*rho_r[0]*uxr_l*uyr_l+0.08838834764831843*rho_c[0]*uxr_l*uyr_l+0.1976423537605237*rho_r[2]*uxc_r*uyr_l+0.1976423537605237*rho_c[2]*uxc_r*uyr_l-0.1530931089239486*rho_r[1]*uxc_r*uyr_l+0.1530931089239486*rho_c[1]*uxc_r*uyr_l+0.08838834764831843*rho_r[0]*uxc_r*uyr_l+0.08838834764831843*rho_c[0]*uxc_r*uyr_l+0.1976423537605237*rho_r[2]*uxr_l*uyc_r+0.1976423537605237*rho_c[2]*uxr_l*uyc_r-0.1530931089239486*rho_r[1]*uxr_l*uyc_r+0.1530931089239486*rho_c[1]*uxr_l*uyc_r+0.08838834764831843*rho_r[0]*uxr_l*uyc_r+0.08838834764831843*rho_c[0]*uxr_l*uyc_r+0.1976423537605237*rho_r[2]*uxc_r*uyc_r+0.1976423537605237*rho_c[2]*uxc_r*uyc_r-0.1530931089239486*rho_r[1]*uxc_r*uyc_r+0.1530931089239486*rho_c[1]*uxc_r*uyc_r+0.08838834764831843*rho_r[0]*uxc_r*uyc_r+0.08838834764831843*rho_c[0]*uxc_r*uyc_r-0.7905694150420948*rhouy_r[2]*max_speed_r+0.7905694150420948*rhouy_c[2]*max_speed_r+0.6123724356957945*rhouy_r[1]*max_speed_r+0.6123724356957945*rhouy_c[1]*max_speed_r-0.3535533905932737*rhouy_r[0]*max_speed_r+0.3535533905932737*rhouy_c[0]*max_speed_r; + Ghat_rhouz_r = 0.1976423537605237*rho_r[2]*uxr_l*uzr_l+0.1976423537605237*rho_c[2]*uxr_l*uzr_l-0.1530931089239486*rho_r[1]*uxr_l*uzr_l+0.1530931089239486*rho_c[1]*uxr_l*uzr_l+0.08838834764831843*rho_r[0]*uxr_l*uzr_l+0.08838834764831843*rho_c[0]*uxr_l*uzr_l+0.1976423537605237*rho_r[2]*uxc_r*uzr_l+0.1976423537605237*rho_c[2]*uxc_r*uzr_l-0.1530931089239486*rho_r[1]*uxc_r*uzr_l+0.1530931089239486*rho_c[1]*uxc_r*uzr_l+0.08838834764831843*rho_r[0]*uxc_r*uzr_l+0.08838834764831843*rho_c[0]*uxc_r*uzr_l+0.1976423537605237*rho_r[2]*uxr_l*uzc_r+0.1976423537605237*rho_c[2]*uxr_l*uzc_r-0.1530931089239486*rho_r[1]*uxr_l*uzc_r+0.1530931089239486*rho_c[1]*uxr_l*uzc_r+0.08838834764831843*rho_r[0]*uxr_l*uzc_r+0.08838834764831843*rho_c[0]*uxr_l*uzc_r+0.1976423537605237*rho_r[2]*uxc_r*uzc_r+0.1976423537605237*rho_c[2]*uxc_r*uzc_r-0.1530931089239486*rho_r[1]*uxc_r*uzc_r+0.1530931089239486*rho_c[1]*uxc_r*uzc_r+0.08838834764831843*rho_r[0]*uxc_r*uzc_r+0.08838834764831843*rho_c[0]*uxc_r*uzc_r-0.7905694150420948*rhouz_r[2]*max_speed_r+0.7905694150420948*rhouz_c[2]*max_speed_r+0.6123724356957945*rhouz_r[1]*max_speed_r+0.6123724356957945*rhouz_c[1]*max_speed_r-0.3535533905932737*rhouz_r[0]*max_speed_r+0.3535533905932737*rhouz_c[0]*max_speed_r; + outrhou0[0] += 0.7071067811865475*Ghat_rhoux_l*dx1-0.7071067811865475*Ghat_rhoux_r*dx1; outrhou0[1] += (-1.224744871391589*Ghat_rhoux_r*dx1)-1.224744871391589*Ghat_rhoux_l*dx1; outrhou0[2] += 1.58113883008419*Ghat_rhoux_l*dx1-1.58113883008419*Ghat_rhoux_r*dx1; @@ -72,4 +109,6 @@ GKYL_CU_DH void euler_pkpm_surfx_1x_ser_p2(const double *w, const double *dxv, outrhou2[1] += (-1.224744871391589*Ghat_rhouz_r*dx1)-1.224744871391589*Ghat_rhouz_l*dx1; outrhou2[2] += 1.58113883008419*Ghat_rhouz_l*dx1-1.58113883008419*Ghat_rhouz_r*dx1; + return 0.; + } diff --git a/kernels/pkpm/euler_pkpm_surfx_2x_ser_p1.c b/kernels/pkpm/euler_pkpm_surfx_2x_ser_p1.c index 26354d1f5..1effaba38 100644 --- a/kernels/pkpm/euler_pkpm_surfx_2x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_surfx_2x_ser_p1.c @@ -1,7 +1,8 @@ #include #include #include -GKYL_CU_DH void euler_pkpm_surfx_2x_ser_p1(const double *w, const double *dxv, +GKYL_CU_DH double euler_pkpm_surfx_2x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, const double *u_il, const double *u_ic, const double *u_ir, const double *T_ijl, const double *T_ijc, const double *T_ijr, const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out) @@ -27,6 +28,23 @@ GKYL_CU_DH void euler_pkpm_surfx_2x_ser_p1(const double *w, const double *dxv, const double *rhouy_r = &statevecr[4]; const double *rhouz_r = &statevecr[8]; + const double *rho_l = &vlasov_pkpm_momsl[0]; + const double *rho_c = &vlasov_pkpm_momsc[0]; + const double *rho_r = &vlasov_pkpm_momsr[0]; + + const double *ux_l = &u_il[0]; + const double *ux_c = &u_ic[0]; + const double *ux_r = &u_ir[0]; + + const double *uy_l = &u_il[4]; + const double *uy_c = &u_ic[4]; + const double *uy_r = &u_ir[4]; + + const double *uz_l = &u_il[8]; + const double *uz_c = &u_ic[8]; + const double *uz_r = &u_ir[8]; + + // Get another pointer for u in direction of update for ease of flux calculation. const double *u_l = &u_il[0]; const double *u_c = &u_ic[0]; const double *u_r = &u_ir[0]; @@ -40,133 +58,125 @@ GKYL_CU_DH void euler_pkpm_surfx_2x_ser_p1(const double *w, const double *dxv, double *outrhou1 = &out[4]; double *outrhou2 = &out[8]; - double lax_rhoux_quad_l[2] = {0.0}; - double lax_rhoux_quad_r[2] = {0.0}; - double lax_rhoux_modal_l[2] = {0.0}; - double lax_rhoux_modal_r[2] = {0.0}; - double lax_rhouy_quad_l[2] = {0.0}; - double lax_rhouy_quad_r[2] = {0.0}; - double lax_rhouy_modal_l[2] = {0.0}; - double lax_rhouy_modal_r[2] = {0.0}; - double lax_rhouz_quad_l[2] = {0.0}; - double lax_rhouz_quad_r[2] = {0.0}; - double lax_rhouz_modal_l[2] = {0.0}; - double lax_rhouz_modal_r[2] = {0.0}; - - double u_l_r = 0.0; - double u_c_l = 0.0; - double u_c_r = 0.0; - double u_r_l = 0.0; + double flux_rho_l[2] = {0.0}; + double flux_rho_r[2] = {0.0}; + double avg_ux_l[2] = {0.0}; + double avg_ux_r[2] = {0.0}; + double avg_uy_l[2] = {0.0}; + double avg_uy_r[2] = {0.0}; + double avg_uz_l[2] = {0.0}; + double avg_uz_r[2] = {0.0}; + double jump_rhoux_l[2] = {0.0}; + double jump_rhoux_r[2] = {0.0}; + double jump_rhouy_l[2] = {0.0}; + double jump_rhouy_r[2] = {0.0}; + double jump_rhouz_l[2] = {0.0}; + double jump_rhouz_r[2] = {0.0}; + double max_speed_quad_l[2] = {0.0}; + double max_speed_quad_r[2] = {0.0}; + double max_speed_modal_l[2] = {0.0}; + double max_speed_modal_r[2] = {0.0}; + flux_rho_l[0] = 0.2651650429449552*rho_l[3]*u_l[3]-0.2651650429449552*rho_c[3]*u_l[3]+0.1530931089239486*rho_l[2]*u_l[3]+0.1530931089239486*rho_c[2]*u_l[3]-0.2651650429449552*rho_l[3]*u_c[3]+0.2651650429449552*rho_c[3]*u_c[3]-0.1530931089239486*rho_l[2]*u_c[3]-0.1530931089239486*rho_c[2]*u_c[3]+0.1530931089239486*u_l[2]*rho_l[3]+0.1530931089239486*u_c[2]*rho_l[3]-0.1530931089239486*u_l[2]*rho_c[3]-0.1530931089239486*u_c[2]*rho_c[3]+0.0883883476483184*rho_l[2]*u_l[2]+0.0883883476483184*rho_c[2]*u_l[2]+0.0883883476483184*rho_l[2]*u_c[2]+0.0883883476483184*rho_c[2]*u_c[2]+0.2651650429449552*rho_l[1]*u_l[1]-0.2651650429449552*rho_c[1]*u_l[1]+0.1530931089239486*rho_l[0]*u_l[1]+0.1530931089239486*rho_c[0]*u_l[1]-0.2651650429449552*rho_l[1]*u_c[1]+0.2651650429449552*rho_c[1]*u_c[1]-0.1530931089239486*rho_l[0]*u_c[1]-0.1530931089239486*rho_c[0]*u_c[1]+0.1530931089239486*u_l[0]*rho_l[1]+0.1530931089239486*u_c[0]*rho_l[1]-0.1530931089239486*u_l[0]*rho_c[1]-0.1530931089239486*u_c[0]*rho_c[1]+0.0883883476483184*rho_l[0]*u_l[0]+0.0883883476483184*rho_c[0]*u_l[0]+0.0883883476483184*rho_l[0]*u_c[0]+0.0883883476483184*rho_c[0]*u_c[0]; + flux_rho_l[1] = 0.2651650429449552*rho_l[1]*u_l[3]-0.2651650429449552*rho_c[1]*u_l[3]+0.1530931089239486*rho_l[0]*u_l[3]+0.1530931089239486*rho_c[0]*u_l[3]-0.2651650429449552*rho_l[1]*u_c[3]+0.2651650429449552*rho_c[1]*u_c[3]-0.1530931089239486*rho_l[0]*u_c[3]-0.1530931089239486*rho_c[0]*u_c[3]+0.2651650429449552*u_l[1]*rho_l[3]-0.2651650429449552*u_c[1]*rho_l[3]+0.1530931089239486*u_l[0]*rho_l[3]+0.1530931089239486*u_c[0]*rho_l[3]-0.2651650429449552*u_l[1]*rho_c[3]+0.2651650429449552*u_c[1]*rho_c[3]-0.1530931089239486*u_l[0]*rho_c[3]-0.1530931089239486*u_c[0]*rho_c[3]+0.1530931089239486*rho_l[1]*u_l[2]-0.1530931089239486*rho_c[1]*u_l[2]+0.0883883476483184*rho_l[0]*u_l[2]+0.0883883476483184*rho_c[0]*u_l[2]+0.1530931089239486*rho_l[1]*u_c[2]-0.1530931089239486*rho_c[1]*u_c[2]+0.0883883476483184*rho_l[0]*u_c[2]+0.0883883476483184*rho_c[0]*u_c[2]+0.1530931089239486*u_l[1]*rho_l[2]-0.1530931089239486*u_c[1]*rho_l[2]+0.0883883476483184*u_l[0]*rho_l[2]+0.0883883476483184*u_c[0]*rho_l[2]+0.1530931089239486*u_l[1]*rho_c[2]-0.1530931089239486*u_c[1]*rho_c[2]+0.0883883476483184*u_l[0]*rho_c[2]+0.0883883476483184*u_c[0]*rho_c[2]; + + flux_rho_r[0] = 0.2651650429449552*rho_r[3]*u_r[3]-0.2651650429449552*rho_c[3]*u_r[3]-0.1530931089239486*rho_r[2]*u_r[3]-0.1530931089239486*rho_c[2]*u_r[3]-0.2651650429449552*rho_r[3]*u_c[3]+0.2651650429449552*rho_c[3]*u_c[3]+0.1530931089239486*rho_r[2]*u_c[3]+0.1530931089239486*rho_c[2]*u_c[3]-0.1530931089239486*u_r[2]*rho_r[3]-0.1530931089239486*u_c[2]*rho_r[3]+0.1530931089239486*u_r[2]*rho_c[3]+0.1530931089239486*u_c[2]*rho_c[3]+0.0883883476483184*rho_r[2]*u_r[2]+0.0883883476483184*rho_c[2]*u_r[2]+0.0883883476483184*rho_r[2]*u_c[2]+0.0883883476483184*rho_c[2]*u_c[2]+0.2651650429449552*rho_r[1]*u_r[1]-0.2651650429449552*rho_c[1]*u_r[1]-0.1530931089239486*rho_r[0]*u_r[1]-0.1530931089239486*rho_c[0]*u_r[1]-0.2651650429449552*rho_r[1]*u_c[1]+0.2651650429449552*rho_c[1]*u_c[1]+0.1530931089239486*rho_r[0]*u_c[1]+0.1530931089239486*rho_c[0]*u_c[1]-0.1530931089239486*u_r[0]*rho_r[1]-0.1530931089239486*u_c[0]*rho_r[1]+0.1530931089239486*u_r[0]*rho_c[1]+0.1530931089239486*u_c[0]*rho_c[1]+0.0883883476483184*rho_r[0]*u_r[0]+0.0883883476483184*rho_c[0]*u_r[0]+0.0883883476483184*rho_r[0]*u_c[0]+0.0883883476483184*rho_c[0]*u_c[0]; + flux_rho_r[1] = 0.2651650429449552*rho_r[1]*u_r[3]-0.2651650429449552*rho_c[1]*u_r[3]-0.1530931089239486*rho_r[0]*u_r[3]-0.1530931089239486*rho_c[0]*u_r[3]-0.2651650429449552*rho_r[1]*u_c[3]+0.2651650429449552*rho_c[1]*u_c[3]+0.1530931089239486*rho_r[0]*u_c[3]+0.1530931089239486*rho_c[0]*u_c[3]+0.2651650429449552*u_r[1]*rho_r[3]-0.2651650429449552*u_c[1]*rho_r[3]-0.1530931089239486*u_r[0]*rho_r[3]-0.1530931089239486*u_c[0]*rho_r[3]-0.2651650429449552*u_r[1]*rho_c[3]+0.2651650429449552*u_c[1]*rho_c[3]+0.1530931089239486*u_r[0]*rho_c[3]+0.1530931089239486*u_c[0]*rho_c[3]-0.1530931089239486*rho_r[1]*u_r[2]+0.1530931089239486*rho_c[1]*u_r[2]+0.0883883476483184*rho_r[0]*u_r[2]+0.0883883476483184*rho_c[0]*u_r[2]-0.1530931089239486*rho_r[1]*u_c[2]+0.1530931089239486*rho_c[1]*u_c[2]+0.0883883476483184*rho_r[0]*u_c[2]+0.0883883476483184*rho_c[0]*u_c[2]-0.1530931089239486*u_r[1]*rho_r[2]+0.1530931089239486*u_c[1]*rho_r[2]+0.0883883476483184*u_r[0]*rho_r[2]+0.0883883476483184*u_c[0]*rho_r[2]-0.1530931089239486*u_r[1]*rho_c[2]+0.1530931089239486*u_c[1]*rho_c[2]+0.0883883476483184*u_r[0]*rho_c[2]+0.0883883476483184*u_c[0]*rho_c[2]; + + avg_ux_l[0] = 0.6123724356957944*ux_l[1]-0.6123724356957944*ux_c[1]+0.3535533905932737*ux_l[0]+0.3535533905932737*ux_c[0]; + avg_ux_l[1] = 0.6123724356957944*ux_l[3]-0.6123724356957944*ux_c[3]+0.3535533905932737*ux_l[2]+0.3535533905932737*ux_c[2]; + + avg_ux_r[0] = (-0.6123724356957944*ux_r[1])+0.6123724356957944*ux_c[1]+0.3535533905932737*ux_r[0]+0.3535533905932737*ux_c[0]; + avg_ux_r[1] = (-0.6123724356957944*ux_r[3])+0.6123724356957944*ux_c[3]+0.3535533905932737*ux_r[2]+0.3535533905932737*ux_c[2]; + + avg_uy_l[0] = 0.6123724356957944*uy_l[1]-0.6123724356957944*uy_c[1]+0.3535533905932737*uy_l[0]+0.3535533905932737*uy_c[0]; + avg_uy_l[1] = 0.6123724356957944*uy_l[3]-0.6123724356957944*uy_c[3]+0.3535533905932737*uy_l[2]+0.3535533905932737*uy_c[2]; + + avg_uy_r[0] = (-0.6123724356957944*uy_r[1])+0.6123724356957944*uy_c[1]+0.3535533905932737*uy_r[0]+0.3535533905932737*uy_c[0]; + avg_uy_r[1] = (-0.6123724356957944*uy_r[3])+0.6123724356957944*uy_c[3]+0.3535533905932737*uy_r[2]+0.3535533905932737*uy_c[2]; + + avg_uz_l[0] = 0.6123724356957944*uz_l[1]-0.6123724356957944*uz_c[1]+0.3535533905932737*uz_l[0]+0.3535533905932737*uz_c[0]; + avg_uz_l[1] = 0.6123724356957944*uz_l[3]-0.6123724356957944*uz_c[3]+0.3535533905932737*uz_l[2]+0.3535533905932737*uz_c[2]; + + avg_uz_r[0] = (-0.6123724356957944*uz_r[1])+0.6123724356957944*uz_c[1]+0.3535533905932737*uz_r[0]+0.3535533905932737*uz_c[0]; + avg_uz_r[1] = (-0.6123724356957944*uz_r[3])+0.6123724356957944*uz_c[3]+0.3535533905932737*uz_r[2]+0.3535533905932737*uz_c[2]; + + jump_rhoux_l[0] = (-0.6123724356957944*rhoux_l[1])-0.6123724356957944*rhoux_c[1]-0.3535533905932737*rhoux_l[0]+0.3535533905932737*rhoux_c[0]; + jump_rhoux_l[1] = (-0.6123724356957944*rhoux_l[3])-0.6123724356957944*rhoux_c[3]-0.3535533905932737*rhoux_l[2]+0.3535533905932737*rhoux_c[2]; + + jump_rhoux_r[0] = (-0.6123724356957944*rhoux_r[1])-0.6123724356957944*rhoux_c[1]+0.3535533905932737*rhoux_r[0]-0.3535533905932737*rhoux_c[0]; + jump_rhoux_r[1] = (-0.6123724356957944*rhoux_r[3])-0.6123724356957944*rhoux_c[3]+0.3535533905932737*rhoux_r[2]-0.3535533905932737*rhoux_c[2]; + + jump_rhouy_l[0] = (-0.6123724356957944*rhouy_l[1])-0.6123724356957944*rhouy_c[1]-0.3535533905932737*rhouy_l[0]+0.3535533905932737*rhouy_c[0]; + jump_rhouy_l[1] = (-0.6123724356957944*rhouy_l[3])-0.6123724356957944*rhouy_c[3]-0.3535533905932737*rhouy_l[2]+0.3535533905932737*rhouy_c[2]; + + jump_rhouy_r[0] = (-0.6123724356957944*rhouy_r[1])-0.6123724356957944*rhouy_c[1]+0.3535533905932737*rhouy_r[0]-0.3535533905932737*rhouy_c[0]; + jump_rhouy_r[1] = (-0.6123724356957944*rhouy_r[3])-0.6123724356957944*rhouy_c[3]+0.3535533905932737*rhouy_r[2]-0.3535533905932737*rhouy_c[2]; + + jump_rhouz_l[0] = (-0.6123724356957944*rhouz_l[1])-0.6123724356957944*rhouz_c[1]-0.3535533905932737*rhouz_l[0]+0.3535533905932737*rhouz_c[0]; + jump_rhouz_l[1] = (-0.6123724356957944*rhouz_l[3])-0.6123724356957944*rhouz_c[3]-0.3535533905932737*rhouz_l[2]+0.3535533905932737*rhouz_c[2]; + + jump_rhouz_r[0] = (-0.6123724356957944*rhouz_r[1])-0.6123724356957944*rhouz_c[1]+0.3535533905932737*rhouz_r[0]-0.3535533905932737*rhouz_c[0]; + jump_rhouz_r[1] = (-0.6123724356957944*rhouz_r[3])-0.6123724356957944*rhouz_c[3]+0.3535533905932737*rhouz_r[2]-0.3535533905932737*rhouz_c[2]; + + double ul_r = 0.0; + double uc_l = 0.0; + double uc_r = 0.0; + double ur_l = 0.0; double uQuad_l = 0.0; double uQuad_r = 0.0; - double vth_sq_l_r = 0.0; - double vth_sq_c_l = 0.0; - double vth_sq_c_r = 0.0; - double vth_sq_r_l = 0.0; + + double vth_sql_r = 0.0; + double vth_sqc_l = 0.0; + double vth_sqc_r = 0.0; + double vth_sqr_l = 0.0; double vthQuad_l = 0.0; double vthQuad_r = 0.0; - double max_speed_l = 0.0; - double max_speed_r = 0.0; - double rhoux_l_r = 0.0; - double rhoux_c_l = 0.0; - double rhoux_c_r = 0.0; - double rhoux_r_l = 0.0; - double rhouy_l_r = 0.0; - double rhouy_c_l = 0.0; - double rhouy_c_r = 0.0; - double rhouy_r_l = 0.0; - double rhouz_l_r = 0.0; - double rhouz_c_l = 0.0; - double rhouz_c_r = 0.0; - double rhouz_r_l = 0.0; - - u_l_r = ser_2x_p1_surfx1_eval_quad_node_0_r(u_l); - u_c_l = ser_2x_p1_surfx1_eval_quad_node_0_l(u_c); - u_c_r = ser_2x_p1_surfx1_eval_quad_node_0_r(u_c); - u_r_l = ser_2x_p1_surfx1_eval_quad_node_0_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_2x_p1_surfx1_eval_quad_node_0_r(vth_sql); - vth_sq_c_l = ser_2x_p1_surfx1_eval_quad_node_0_l(vth_sqc); - vth_sq_c_r = ser_2x_p1_surfx1_eval_quad_node_0_r(vth_sqc); - vth_sq_r_l = ser_2x_p1_surfx1_eval_quad_node_0_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_2x_p1_surfx1_eval_quad_node_0_r(rhoux_l); - rhoux_c_l = ser_2x_p1_surfx1_eval_quad_node_0_l(rhoux_c); - rhoux_c_r = ser_2x_p1_surfx1_eval_quad_node_0_r(rhoux_c); - rhoux_r_l = ser_2x_p1_surfx1_eval_quad_node_0_l(rhoux_r); - rhouy_l_r = ser_2x_p1_surfx1_eval_quad_node_0_r(rhouy_l); - rhouy_c_l = ser_2x_p1_surfx1_eval_quad_node_0_l(rhouy_c); - rhouy_c_r = ser_2x_p1_surfx1_eval_quad_node_0_r(rhouy_c); - rhouy_r_l = ser_2x_p1_surfx1_eval_quad_node_0_l(rhouy_r); - rhouz_l_r = ser_2x_p1_surfx1_eval_quad_node_0_r(rhouz_l); - rhouz_c_l = ser_2x_p1_surfx1_eval_quad_node_0_l(rhouz_c); - rhouz_c_r = ser_2x_p1_surfx1_eval_quad_node_0_r(rhouz_c); - rhouz_r_l = ser_2x_p1_surfx1_eval_quad_node_0_l(rhouz_r); - lax_rhoux_quad_l[0] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[0] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[0] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[0] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[0] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[0] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_2x_p1_surfx1_eval_quad_node_1_r(u_l); - u_c_l = ser_2x_p1_surfx1_eval_quad_node_1_l(u_c); - u_c_r = ser_2x_p1_surfx1_eval_quad_node_1_r(u_c); - u_r_l = ser_2x_p1_surfx1_eval_quad_node_1_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_2x_p1_surfx1_eval_quad_node_1_r(vth_sql); - vth_sq_c_l = ser_2x_p1_surfx1_eval_quad_node_1_l(vth_sqc); - vth_sq_c_r = ser_2x_p1_surfx1_eval_quad_node_1_r(vth_sqc); - vth_sq_r_l = ser_2x_p1_surfx1_eval_quad_node_1_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_2x_p1_surfx1_eval_quad_node_1_r(rhoux_l); - rhoux_c_l = ser_2x_p1_surfx1_eval_quad_node_1_l(rhoux_c); - rhoux_c_r = ser_2x_p1_surfx1_eval_quad_node_1_r(rhoux_c); - rhoux_r_l = ser_2x_p1_surfx1_eval_quad_node_1_l(rhoux_r); - rhouy_l_r = ser_2x_p1_surfx1_eval_quad_node_1_r(rhouy_l); - rhouy_c_l = ser_2x_p1_surfx1_eval_quad_node_1_l(rhouy_c); - rhouy_c_r = ser_2x_p1_surfx1_eval_quad_node_1_r(rhouy_c); - rhouy_r_l = ser_2x_p1_surfx1_eval_quad_node_1_l(rhouy_r); - rhouz_l_r = ser_2x_p1_surfx1_eval_quad_node_1_r(rhouz_l); - rhouz_c_l = ser_2x_p1_surfx1_eval_quad_node_1_l(rhouz_c); - rhouz_c_r = ser_2x_p1_surfx1_eval_quad_node_1_r(rhouz_c); - rhouz_r_l = ser_2x_p1_surfx1_eval_quad_node_1_l(rhouz_r); - lax_rhoux_quad_l[1] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[1] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[1] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[1] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[1] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[1] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - // Project tensor nodal quadrature basis back onto modal basis. - ser_2x_p1_upwind_quad_to_modal(lax_rhoux_quad_l, lax_rhoux_modal_l); - ser_2x_p1_upwind_quad_to_modal(lax_rhoux_quad_r, lax_rhoux_modal_r); - ser_2x_p1_upwind_quad_to_modal(lax_rhouy_quad_l, lax_rhouy_modal_l); - ser_2x_p1_upwind_quad_to_modal(lax_rhouy_quad_r, lax_rhouy_modal_r); - ser_2x_p1_upwind_quad_to_modal(lax_rhouz_quad_l, lax_rhouz_modal_l); - ser_2x_p1_upwind_quad_to_modal(lax_rhouz_quad_r, lax_rhouz_modal_r); - - outrhou0[0] += 0.7071067811865475*lax_rhoux_modal_l[0]*dx1-0.7071067811865475*lax_rhoux_modal_r[0]*dx1; - outrhou0[1] += (-1.224744871391589*lax_rhoux_modal_r[0]*dx1)-1.224744871391589*lax_rhoux_modal_l[0]*dx1; - outrhou0[2] += 0.7071067811865475*lax_rhoux_modal_l[1]*dx1-0.7071067811865475*lax_rhoux_modal_r[1]*dx1; - outrhou0[3] += (-1.224744871391589*lax_rhoux_modal_r[1]*dx1)-1.224744871391589*lax_rhoux_modal_l[1]*dx1; - - outrhou1[0] += 0.7071067811865475*lax_rhouy_modal_l[0]*dx1-0.7071067811865475*lax_rhouy_modal_r[0]*dx1; - outrhou1[1] += (-1.224744871391589*lax_rhouy_modal_r[0]*dx1)-1.224744871391589*lax_rhouy_modal_l[0]*dx1; - outrhou1[2] += 0.7071067811865475*lax_rhouy_modal_l[1]*dx1-0.7071067811865475*lax_rhouy_modal_r[1]*dx1; - outrhou1[3] += (-1.224744871391589*lax_rhouy_modal_r[1]*dx1)-1.224744871391589*lax_rhouy_modal_l[1]*dx1; - - outrhou2[0] += 0.7071067811865475*lax_rhouz_modal_l[0]*dx1-0.7071067811865475*lax_rhouz_modal_r[0]*dx1; - outrhou2[1] += (-1.224744871391589*lax_rhouz_modal_r[0]*dx1)-1.224744871391589*lax_rhouz_modal_l[0]*dx1; - outrhou2[2] += 0.7071067811865475*lax_rhouz_modal_l[1]*dx1-0.7071067811865475*lax_rhouz_modal_r[1]*dx1; - outrhou2[3] += (-1.224744871391589*lax_rhouz_modal_r[1]*dx1)-1.224744871391589*lax_rhouz_modal_l[1]*dx1; + + ul_r = ser_2x_p1_surfx1_eval_quad_node_0_r(u_l); + uc_l = ser_2x_p1_surfx1_eval_quad_node_0_l(u_c); + uc_r = ser_2x_p1_surfx1_eval_quad_node_0_r(u_c); + ur_l = ser_2x_p1_surfx1_eval_quad_node_0_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_2x_p1_surfx1_eval_quad_node_0_r(vth_sql); + vth_sqc_l = ser_2x_p1_surfx1_eval_quad_node_0_l(vth_sqc); + vth_sqc_r = ser_2x_p1_surfx1_eval_quad_node_0_r(vth_sqc); + vth_sqr_l = ser_2x_p1_surfx1_eval_quad_node_0_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[0] = uQuad_l + vthQuad_l; + max_speed_quad_r[0] = uQuad_r + vthQuad_r; + ul_r = ser_2x_p1_surfx1_eval_quad_node_1_r(u_l); + uc_l = ser_2x_p1_surfx1_eval_quad_node_1_l(u_c); + uc_r = ser_2x_p1_surfx1_eval_quad_node_1_r(u_c); + ur_l = ser_2x_p1_surfx1_eval_quad_node_1_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_2x_p1_surfx1_eval_quad_node_1_r(vth_sql); + vth_sqc_l = ser_2x_p1_surfx1_eval_quad_node_1_l(vth_sqc); + vth_sqc_r = ser_2x_p1_surfx1_eval_quad_node_1_r(vth_sqc); + vth_sqr_l = ser_2x_p1_surfx1_eval_quad_node_1_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[1] = uQuad_l + vthQuad_l; + max_speed_quad_r[1] = uQuad_r + vthQuad_r; + ser_2x_p1_upwind_quad_to_modal(max_speed_quad_l, max_speed_modal_l); + ser_2x_p1_upwind_quad_to_modal(max_speed_quad_r, max_speed_modal_r); + outrhou0[0] += 0.5*jump_rhoux_r[1]*max_speed_modal_r[1]*dx1-0.5*jump_rhoux_l[1]*max_speed_modal_l[1]*dx1-0.5*avg_ux_r[1]*flux_rho_r[1]*dx1+0.5*avg_ux_l[1]*flux_rho_l[1]*dx1+0.5*jump_rhoux_r[0]*max_speed_modal_r[0]*dx1-0.5*jump_rhoux_l[0]*max_speed_modal_l[0]*dx1-0.5*avg_ux_r[0]*flux_rho_r[0]*dx1+0.5*avg_ux_l[0]*flux_rho_l[0]*dx1; + outrhou0[1] += 0.8660254037844386*jump_rhoux_r[1]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhoux_l[1]*max_speed_modal_l[1]*dx1-0.8660254037844386*avg_ux_r[1]*flux_rho_r[1]*dx1-0.8660254037844386*avg_ux_l[1]*flux_rho_l[1]*dx1+0.8660254037844386*jump_rhoux_r[0]*max_speed_modal_r[0]*dx1+0.8660254037844386*jump_rhoux_l[0]*max_speed_modal_l[0]*dx1-0.8660254037844386*avg_ux_r[0]*flux_rho_r[0]*dx1-0.8660254037844386*avg_ux_l[0]*flux_rho_l[0]*dx1; + outrhou0[2] += 0.5*jump_rhoux_r[0]*max_speed_modal_r[1]*dx1-0.5*jump_rhoux_l[0]*max_speed_modal_l[1]*dx1+0.5*max_speed_modal_r[0]*jump_rhoux_r[1]*dx1-0.5*max_speed_modal_l[0]*jump_rhoux_l[1]*dx1-0.5*avg_ux_r[0]*flux_rho_r[1]*dx1+0.5*avg_ux_l[0]*flux_rho_l[1]*dx1-0.5*flux_rho_r[0]*avg_ux_r[1]*dx1+0.5*flux_rho_l[0]*avg_ux_l[1]*dx1; + outrhou0[3] += 0.8660254037844386*jump_rhoux_r[0]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhoux_l[0]*max_speed_modal_l[1]*dx1+0.8660254037844386*max_speed_modal_r[0]*jump_rhoux_r[1]*dx1+0.8660254037844386*max_speed_modal_l[0]*jump_rhoux_l[1]*dx1-0.8660254037844386*avg_ux_r[0]*flux_rho_r[1]*dx1-0.8660254037844386*avg_ux_l[0]*flux_rho_l[1]*dx1-0.8660254037844386*flux_rho_r[0]*avg_ux_r[1]*dx1-0.8660254037844386*flux_rho_l[0]*avg_ux_l[1]*dx1; + + outrhou1[0] += 0.5*jump_rhouy_r[1]*max_speed_modal_r[1]*dx1-0.5*jump_rhouy_l[1]*max_speed_modal_l[1]*dx1-0.5*avg_uy_r[1]*flux_rho_r[1]*dx1+0.5*avg_uy_l[1]*flux_rho_l[1]*dx1+0.5*jump_rhouy_r[0]*max_speed_modal_r[0]*dx1-0.5*jump_rhouy_l[0]*max_speed_modal_l[0]*dx1-0.5*avg_uy_r[0]*flux_rho_r[0]*dx1+0.5*avg_uy_l[0]*flux_rho_l[0]*dx1; + outrhou1[1] += 0.8660254037844386*jump_rhouy_r[1]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhouy_l[1]*max_speed_modal_l[1]*dx1-0.8660254037844386*avg_uy_r[1]*flux_rho_r[1]*dx1-0.8660254037844386*avg_uy_l[1]*flux_rho_l[1]*dx1+0.8660254037844386*jump_rhouy_r[0]*max_speed_modal_r[0]*dx1+0.8660254037844386*jump_rhouy_l[0]*max_speed_modal_l[0]*dx1-0.8660254037844386*avg_uy_r[0]*flux_rho_r[0]*dx1-0.8660254037844386*avg_uy_l[0]*flux_rho_l[0]*dx1; + outrhou1[2] += 0.5*jump_rhouy_r[0]*max_speed_modal_r[1]*dx1-0.5*jump_rhouy_l[0]*max_speed_modal_l[1]*dx1+0.5*max_speed_modal_r[0]*jump_rhouy_r[1]*dx1-0.5*max_speed_modal_l[0]*jump_rhouy_l[1]*dx1-0.5*avg_uy_r[0]*flux_rho_r[1]*dx1+0.5*avg_uy_l[0]*flux_rho_l[1]*dx1-0.5*flux_rho_r[0]*avg_uy_r[1]*dx1+0.5*flux_rho_l[0]*avg_uy_l[1]*dx1; + outrhou1[3] += 0.8660254037844386*jump_rhouy_r[0]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhouy_l[0]*max_speed_modal_l[1]*dx1+0.8660254037844386*max_speed_modal_r[0]*jump_rhouy_r[1]*dx1+0.8660254037844386*max_speed_modal_l[0]*jump_rhouy_l[1]*dx1-0.8660254037844386*avg_uy_r[0]*flux_rho_r[1]*dx1-0.8660254037844386*avg_uy_l[0]*flux_rho_l[1]*dx1-0.8660254037844386*flux_rho_r[0]*avg_uy_r[1]*dx1-0.8660254037844386*flux_rho_l[0]*avg_uy_l[1]*dx1; + + outrhou2[0] += 0.5*jump_rhouz_r[1]*max_speed_modal_r[1]*dx1-0.5*jump_rhouz_l[1]*max_speed_modal_l[1]*dx1-0.5*avg_uz_r[1]*flux_rho_r[1]*dx1+0.5*avg_uz_l[1]*flux_rho_l[1]*dx1+0.5*jump_rhouz_r[0]*max_speed_modal_r[0]*dx1-0.5*jump_rhouz_l[0]*max_speed_modal_l[0]*dx1-0.5*avg_uz_r[0]*flux_rho_r[0]*dx1+0.5*avg_uz_l[0]*flux_rho_l[0]*dx1; + outrhou2[1] += 0.8660254037844386*jump_rhouz_r[1]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhouz_l[1]*max_speed_modal_l[1]*dx1-0.8660254037844386*avg_uz_r[1]*flux_rho_r[1]*dx1-0.8660254037844386*avg_uz_l[1]*flux_rho_l[1]*dx1+0.8660254037844386*jump_rhouz_r[0]*max_speed_modal_r[0]*dx1+0.8660254037844386*jump_rhouz_l[0]*max_speed_modal_l[0]*dx1-0.8660254037844386*avg_uz_r[0]*flux_rho_r[0]*dx1-0.8660254037844386*avg_uz_l[0]*flux_rho_l[0]*dx1; + outrhou2[2] += 0.5*jump_rhouz_r[0]*max_speed_modal_r[1]*dx1-0.5*jump_rhouz_l[0]*max_speed_modal_l[1]*dx1+0.5*max_speed_modal_r[0]*jump_rhouz_r[1]*dx1-0.5*max_speed_modal_l[0]*jump_rhouz_l[1]*dx1-0.5*avg_uz_r[0]*flux_rho_r[1]*dx1+0.5*avg_uz_l[0]*flux_rho_l[1]*dx1-0.5*flux_rho_r[0]*avg_uz_r[1]*dx1+0.5*flux_rho_l[0]*avg_uz_l[1]*dx1; + outrhou2[3] += 0.8660254037844386*jump_rhouz_r[0]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhouz_l[0]*max_speed_modal_l[1]*dx1+0.8660254037844386*max_speed_modal_r[0]*jump_rhouz_r[1]*dx1+0.8660254037844386*max_speed_modal_l[0]*jump_rhouz_l[1]*dx1-0.8660254037844386*avg_uz_r[0]*flux_rho_r[1]*dx1-0.8660254037844386*avg_uz_l[0]*flux_rho_l[1]*dx1-0.8660254037844386*flux_rho_r[0]*avg_uz_r[1]*dx1-0.8660254037844386*flux_rho_l[0]*avg_uz_l[1]*dx1; + + return 0.; } diff --git a/kernels/pkpm/euler_pkpm_surfx_3x_ser_p1.c b/kernels/pkpm/euler_pkpm_surfx_3x_ser_p1.c index 215663b5e..e5bf12f99 100644 --- a/kernels/pkpm/euler_pkpm_surfx_3x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_surfx_3x_ser_p1.c @@ -1,7 +1,8 @@ #include #include #include -GKYL_CU_DH void euler_pkpm_surfx_3x_ser_p1(const double *w, const double *dxv, +GKYL_CU_DH double euler_pkpm_surfx_3x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, const double *u_il, const double *u_ic, const double *u_ir, const double *T_ijl, const double *T_ijc, const double *T_ijr, const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out) @@ -27,6 +28,23 @@ GKYL_CU_DH void euler_pkpm_surfx_3x_ser_p1(const double *w, const double *dxv, const double *rhouy_r = &statevecr[8]; const double *rhouz_r = &statevecr[16]; + const double *rho_l = &vlasov_pkpm_momsl[0]; + const double *rho_c = &vlasov_pkpm_momsc[0]; + const double *rho_r = &vlasov_pkpm_momsr[0]; + + const double *ux_l = &u_il[0]; + const double *ux_c = &u_ic[0]; + const double *ux_r = &u_ir[0]; + + const double *uy_l = &u_il[8]; + const double *uy_c = &u_ic[8]; + const double *uy_r = &u_ir[8]; + + const double *uz_l = &u_il[16]; + const double *uz_c = &u_ic[16]; + const double *uz_r = &u_ir[16]; + + // Get another pointer for u in direction of update for ease of flux calculation. const double *u_l = &u_il[0]; const double *u_c = &u_ic[0]; const double *u_r = &u_ir[0]; @@ -40,211 +58,193 @@ GKYL_CU_DH void euler_pkpm_surfx_3x_ser_p1(const double *w, const double *dxv, double *outrhou1 = &out[8]; double *outrhou2 = &out[16]; - double lax_rhoux_quad_l[4] = {0.0}; - double lax_rhoux_quad_r[4] = {0.0}; - double lax_rhoux_modal_l[4] = {0.0}; - double lax_rhoux_modal_r[4] = {0.0}; - double lax_rhouy_quad_l[4] = {0.0}; - double lax_rhouy_quad_r[4] = {0.0}; - double lax_rhouy_modal_l[4] = {0.0}; - double lax_rhouy_modal_r[4] = {0.0}; - double lax_rhouz_quad_l[4] = {0.0}; - double lax_rhouz_quad_r[4] = {0.0}; - double lax_rhouz_modal_l[4] = {0.0}; - double lax_rhouz_modal_r[4] = {0.0}; - - double u_l_r = 0.0; - double u_c_l = 0.0; - double u_c_r = 0.0; - double u_r_l = 0.0; + double flux_rho_l[4] = {0.0}; + double flux_rho_r[4] = {0.0}; + double avg_ux_l[4] = {0.0}; + double avg_ux_r[4] = {0.0}; + double avg_uy_l[4] = {0.0}; + double avg_uy_r[4] = {0.0}; + double avg_uz_l[4] = {0.0}; + double avg_uz_r[4] = {0.0}; + double jump_rhoux_l[4] = {0.0}; + double jump_rhoux_r[4] = {0.0}; + double jump_rhouy_l[4] = {0.0}; + double jump_rhouy_r[4] = {0.0}; + double jump_rhouz_l[4] = {0.0}; + double jump_rhouz_r[4] = {0.0}; + double max_speed_quad_l[4] = {0.0}; + double max_speed_quad_r[4] = {0.0}; + double max_speed_modal_l[4] = {0.0}; + double max_speed_modal_r[4] = {0.0}; + flux_rho_l[0] = 0.1875*rho_l[7]*u_l[7]-0.1875*rho_c[7]*u_l[7]+0.1082531754730548*rho_l[6]*u_l[7]+0.1082531754730548*rho_c[6]*u_l[7]-0.1875*rho_l[7]*u_c[7]+0.1875*rho_c[7]*u_c[7]-0.1082531754730548*rho_l[6]*u_c[7]-0.1082531754730548*rho_c[6]*u_c[7]+0.1082531754730548*u_l[6]*rho_l[7]+0.1082531754730548*u_c[6]*rho_l[7]-0.1082531754730548*u_l[6]*rho_c[7]-0.1082531754730548*u_c[6]*rho_c[7]+0.0625*rho_l[6]*u_l[6]+0.0625*rho_c[6]*u_l[6]+0.0625*rho_l[6]*u_c[6]+0.0625*rho_c[6]*u_c[6]+0.1875*rho_l[5]*u_l[5]-0.1875*rho_c[5]*u_l[5]+0.1082531754730548*rho_l[3]*u_l[5]+0.1082531754730548*rho_c[3]*u_l[5]-0.1875*rho_l[5]*u_c[5]+0.1875*rho_c[5]*u_c[5]-0.1082531754730548*rho_l[3]*u_c[5]-0.1082531754730548*rho_c[3]*u_c[5]+0.1082531754730548*u_l[3]*rho_l[5]+0.1082531754730548*u_c[3]*rho_l[5]-0.1082531754730548*u_l[3]*rho_c[5]-0.1082531754730548*u_c[3]*rho_c[5]+0.1875*rho_l[4]*u_l[4]-0.1875*rho_c[4]*u_l[4]+0.1082531754730548*rho_l[2]*u_l[4]+0.1082531754730548*rho_c[2]*u_l[4]-0.1875*rho_l[4]*u_c[4]+0.1875*rho_c[4]*u_c[4]-0.1082531754730548*rho_l[2]*u_c[4]-0.1082531754730548*rho_c[2]*u_c[4]+0.1082531754730548*u_l[2]*rho_l[4]+0.1082531754730548*u_c[2]*rho_l[4]-0.1082531754730548*u_l[2]*rho_c[4]-0.1082531754730548*u_c[2]*rho_c[4]+0.0625*rho_l[3]*u_l[3]+0.0625*rho_c[3]*u_l[3]+0.0625*rho_l[3]*u_c[3]+0.0625*rho_c[3]*u_c[3]+0.0625*rho_l[2]*u_l[2]+0.0625*rho_c[2]*u_l[2]+0.0625*rho_l[2]*u_c[2]+0.0625*rho_c[2]*u_c[2]+0.1875*rho_l[1]*u_l[1]-0.1875*rho_c[1]*u_l[1]+0.1082531754730548*rho_l[0]*u_l[1]+0.1082531754730548*rho_c[0]*u_l[1]-0.1875*rho_l[1]*u_c[1]+0.1875*rho_c[1]*u_c[1]-0.1082531754730548*rho_l[0]*u_c[1]-0.1082531754730548*rho_c[0]*u_c[1]+0.1082531754730548*u_l[0]*rho_l[1]+0.1082531754730548*u_c[0]*rho_l[1]-0.1082531754730548*u_l[0]*rho_c[1]-0.1082531754730548*u_c[0]*rho_c[1]+0.0625*rho_l[0]*u_l[0]+0.0625*rho_c[0]*u_l[0]+0.0625*rho_l[0]*u_c[0]+0.0625*rho_c[0]*u_c[0]; + flux_rho_l[1] = 0.1875*rho_l[5]*u_l[7]-0.1875*rho_c[5]*u_l[7]+0.1082531754730548*rho_l[3]*u_l[7]+0.1082531754730548*rho_c[3]*u_l[7]-0.1875*rho_l[5]*u_c[7]+0.1875*rho_c[5]*u_c[7]-0.1082531754730548*rho_l[3]*u_c[7]-0.1082531754730548*rho_c[3]*u_c[7]+0.1875*u_l[5]*rho_l[7]-0.1875*u_c[5]*rho_l[7]+0.1082531754730548*u_l[3]*rho_l[7]+0.1082531754730548*u_c[3]*rho_l[7]-0.1875*u_l[5]*rho_c[7]+0.1875*u_c[5]*rho_c[7]-0.1082531754730548*u_l[3]*rho_c[7]-0.1082531754730548*u_c[3]*rho_c[7]+0.1082531754730548*rho_l[5]*u_l[6]-0.1082531754730548*rho_c[5]*u_l[6]+0.0625*rho_l[3]*u_l[6]+0.0625*rho_c[3]*u_l[6]+0.1082531754730548*rho_l[5]*u_c[6]-0.1082531754730548*rho_c[5]*u_c[6]+0.0625*rho_l[3]*u_c[6]+0.0625*rho_c[3]*u_c[6]+0.1082531754730548*u_l[5]*rho_l[6]-0.1082531754730548*u_c[5]*rho_l[6]+0.0625*u_l[3]*rho_l[6]+0.0625*u_c[3]*rho_l[6]+0.1082531754730548*u_l[5]*rho_c[6]-0.1082531754730548*u_c[5]*rho_c[6]+0.0625*u_l[3]*rho_c[6]+0.0625*u_c[3]*rho_c[6]+0.1875*rho_l[1]*u_l[4]-0.1875*rho_c[1]*u_l[4]+0.1082531754730548*rho_l[0]*u_l[4]+0.1082531754730548*rho_c[0]*u_l[4]-0.1875*rho_l[1]*u_c[4]+0.1875*rho_c[1]*u_c[4]-0.1082531754730548*rho_l[0]*u_c[4]-0.1082531754730548*rho_c[0]*u_c[4]+0.1875*u_l[1]*rho_l[4]-0.1875*u_c[1]*rho_l[4]+0.1082531754730548*u_l[0]*rho_l[4]+0.1082531754730548*u_c[0]*rho_l[4]-0.1875*u_l[1]*rho_c[4]+0.1875*u_c[1]*rho_c[4]-0.1082531754730548*u_l[0]*rho_c[4]-0.1082531754730548*u_c[0]*rho_c[4]+0.1082531754730548*rho_l[1]*u_l[2]-0.1082531754730548*rho_c[1]*u_l[2]+0.0625*rho_l[0]*u_l[2]+0.0625*rho_c[0]*u_l[2]+0.1082531754730548*rho_l[1]*u_c[2]-0.1082531754730548*rho_c[1]*u_c[2]+0.0625*rho_l[0]*u_c[2]+0.0625*rho_c[0]*u_c[2]+0.1082531754730548*u_l[1]*rho_l[2]-0.1082531754730548*u_c[1]*rho_l[2]+0.0625*u_l[0]*rho_l[2]+0.0625*u_c[0]*rho_l[2]+0.1082531754730548*u_l[1]*rho_c[2]-0.1082531754730548*u_c[1]*rho_c[2]+0.0625*u_l[0]*rho_c[2]+0.0625*u_c[0]*rho_c[2]; + flux_rho_l[2] = 0.1875*rho_l[4]*u_l[7]-0.1875*rho_c[4]*u_l[7]+0.1082531754730548*rho_l[2]*u_l[7]+0.1082531754730548*rho_c[2]*u_l[7]-0.1875*rho_l[4]*u_c[7]+0.1875*rho_c[4]*u_c[7]-0.1082531754730548*rho_l[2]*u_c[7]-0.1082531754730548*rho_c[2]*u_c[7]+0.1875*u_l[4]*rho_l[7]-0.1875*u_c[4]*rho_l[7]+0.1082531754730548*u_l[2]*rho_l[7]+0.1082531754730548*u_c[2]*rho_l[7]-0.1875*u_l[4]*rho_c[7]+0.1875*u_c[4]*rho_c[7]-0.1082531754730548*u_l[2]*rho_c[7]-0.1082531754730548*u_c[2]*rho_c[7]+0.1082531754730548*rho_l[4]*u_l[6]-0.1082531754730548*rho_c[4]*u_l[6]+0.0625*rho_l[2]*u_l[6]+0.0625*rho_c[2]*u_l[6]+0.1082531754730548*rho_l[4]*u_c[6]-0.1082531754730548*rho_c[4]*u_c[6]+0.0625*rho_l[2]*u_c[6]+0.0625*rho_c[2]*u_c[6]+0.1082531754730548*u_l[4]*rho_l[6]-0.1082531754730548*u_c[4]*rho_l[6]+0.0625*u_l[2]*rho_l[6]+0.0625*u_c[2]*rho_l[6]+0.1082531754730548*u_l[4]*rho_c[6]-0.1082531754730548*u_c[4]*rho_c[6]+0.0625*u_l[2]*rho_c[6]+0.0625*u_c[2]*rho_c[6]+0.1875*rho_l[1]*u_l[5]-0.1875*rho_c[1]*u_l[5]+0.1082531754730548*rho_l[0]*u_l[5]+0.1082531754730548*rho_c[0]*u_l[5]-0.1875*rho_l[1]*u_c[5]+0.1875*rho_c[1]*u_c[5]-0.1082531754730548*rho_l[0]*u_c[5]-0.1082531754730548*rho_c[0]*u_c[5]+0.1875*u_l[1]*rho_l[5]-0.1875*u_c[1]*rho_l[5]+0.1082531754730548*u_l[0]*rho_l[5]+0.1082531754730548*u_c[0]*rho_l[5]-0.1875*u_l[1]*rho_c[5]+0.1875*u_c[1]*rho_c[5]-0.1082531754730548*u_l[0]*rho_c[5]-0.1082531754730548*u_c[0]*rho_c[5]+0.1082531754730548*rho_l[1]*u_l[3]-0.1082531754730548*rho_c[1]*u_l[3]+0.0625*rho_l[0]*u_l[3]+0.0625*rho_c[0]*u_l[3]+0.1082531754730548*rho_l[1]*u_c[3]-0.1082531754730548*rho_c[1]*u_c[3]+0.0625*rho_l[0]*u_c[3]+0.0625*rho_c[0]*u_c[3]+0.1082531754730548*u_l[1]*rho_l[3]-0.1082531754730548*u_c[1]*rho_l[3]+0.0625*u_l[0]*rho_l[3]+0.0625*u_c[0]*rho_l[3]+0.1082531754730548*u_l[1]*rho_c[3]-0.1082531754730548*u_c[1]*rho_c[3]+0.0625*u_l[0]*rho_c[3]+0.0625*u_c[0]*rho_c[3]; + flux_rho_l[3] = 0.1875*rho_l[1]*u_l[7]-0.1875*rho_c[1]*u_l[7]+0.1082531754730548*rho_l[0]*u_l[7]+0.1082531754730548*rho_c[0]*u_l[7]-0.1875*rho_l[1]*u_c[7]+0.1875*rho_c[1]*u_c[7]-0.1082531754730548*rho_l[0]*u_c[7]-0.1082531754730548*rho_c[0]*u_c[7]+0.1875*u_l[1]*rho_l[7]-0.1875*u_c[1]*rho_l[7]+0.1082531754730548*u_l[0]*rho_l[7]+0.1082531754730548*u_c[0]*rho_l[7]-0.1875*u_l[1]*rho_c[7]+0.1875*u_c[1]*rho_c[7]-0.1082531754730548*u_l[0]*rho_c[7]-0.1082531754730548*u_c[0]*rho_c[7]+0.1082531754730548*rho_l[1]*u_l[6]-0.1082531754730548*rho_c[1]*u_l[6]+0.0625*rho_l[0]*u_l[6]+0.0625*rho_c[0]*u_l[6]+0.1082531754730548*rho_l[1]*u_c[6]-0.1082531754730548*rho_c[1]*u_c[6]+0.0625*rho_l[0]*u_c[6]+0.0625*rho_c[0]*u_c[6]+0.1082531754730548*u_l[1]*rho_l[6]-0.1082531754730548*u_c[1]*rho_l[6]+0.0625*u_l[0]*rho_l[6]+0.0625*u_c[0]*rho_l[6]+0.1082531754730548*u_l[1]*rho_c[6]-0.1082531754730548*u_c[1]*rho_c[6]+0.0625*u_l[0]*rho_c[6]+0.0625*u_c[0]*rho_c[6]+0.1875*rho_l[4]*u_l[5]-0.1875*rho_c[4]*u_l[5]+0.1082531754730548*rho_l[2]*u_l[5]+0.1082531754730548*rho_c[2]*u_l[5]-0.1875*rho_l[4]*u_c[5]+0.1875*rho_c[4]*u_c[5]-0.1082531754730548*rho_l[2]*u_c[5]-0.1082531754730548*rho_c[2]*u_c[5]+0.1875*u_l[4]*rho_l[5]-0.1875*u_c[4]*rho_l[5]+0.1082531754730548*u_l[2]*rho_l[5]+0.1082531754730548*u_c[2]*rho_l[5]-0.1875*u_l[4]*rho_c[5]+0.1875*u_c[4]*rho_c[5]-0.1082531754730548*u_l[2]*rho_c[5]-0.1082531754730548*u_c[2]*rho_c[5]+0.1082531754730548*rho_l[3]*u_l[4]+0.1082531754730548*rho_c[3]*u_l[4]-0.1082531754730548*rho_l[3]*u_c[4]-0.1082531754730548*rho_c[3]*u_c[4]+0.1082531754730548*u_l[3]*rho_l[4]+0.1082531754730548*u_c[3]*rho_l[4]-0.1082531754730548*u_l[3]*rho_c[4]-0.1082531754730548*u_c[3]*rho_c[4]+0.0625*rho_l[2]*u_l[3]+0.0625*rho_c[2]*u_l[3]+0.0625*rho_l[2]*u_c[3]+0.0625*rho_c[2]*u_c[3]+0.0625*u_l[2]*rho_l[3]+0.0625*u_c[2]*rho_l[3]+0.0625*u_l[2]*rho_c[3]+0.0625*u_c[2]*rho_c[3]; + + flux_rho_r[0] = 0.1875*rho_r[7]*u_r[7]-0.1875*rho_c[7]*u_r[7]-0.1082531754730548*rho_r[6]*u_r[7]-0.1082531754730548*rho_c[6]*u_r[7]-0.1875*rho_r[7]*u_c[7]+0.1875*rho_c[7]*u_c[7]+0.1082531754730548*rho_r[6]*u_c[7]+0.1082531754730548*rho_c[6]*u_c[7]-0.1082531754730548*u_r[6]*rho_r[7]-0.1082531754730548*u_c[6]*rho_r[7]+0.1082531754730548*u_r[6]*rho_c[7]+0.1082531754730548*u_c[6]*rho_c[7]+0.0625*rho_r[6]*u_r[6]+0.0625*rho_c[6]*u_r[6]+0.0625*rho_r[6]*u_c[6]+0.0625*rho_c[6]*u_c[6]+0.1875*rho_r[5]*u_r[5]-0.1875*rho_c[5]*u_r[5]-0.1082531754730548*rho_r[3]*u_r[5]-0.1082531754730548*rho_c[3]*u_r[5]-0.1875*rho_r[5]*u_c[5]+0.1875*rho_c[5]*u_c[5]+0.1082531754730548*rho_r[3]*u_c[5]+0.1082531754730548*rho_c[3]*u_c[5]-0.1082531754730548*u_r[3]*rho_r[5]-0.1082531754730548*u_c[3]*rho_r[5]+0.1082531754730548*u_r[3]*rho_c[5]+0.1082531754730548*u_c[3]*rho_c[5]+0.1875*rho_r[4]*u_r[4]-0.1875*rho_c[4]*u_r[4]-0.1082531754730548*rho_r[2]*u_r[4]-0.1082531754730548*rho_c[2]*u_r[4]-0.1875*rho_r[4]*u_c[4]+0.1875*rho_c[4]*u_c[4]+0.1082531754730548*rho_r[2]*u_c[4]+0.1082531754730548*rho_c[2]*u_c[4]-0.1082531754730548*u_r[2]*rho_r[4]-0.1082531754730548*u_c[2]*rho_r[4]+0.1082531754730548*u_r[2]*rho_c[4]+0.1082531754730548*u_c[2]*rho_c[4]+0.0625*rho_r[3]*u_r[3]+0.0625*rho_c[3]*u_r[3]+0.0625*rho_r[3]*u_c[3]+0.0625*rho_c[3]*u_c[3]+0.0625*rho_r[2]*u_r[2]+0.0625*rho_c[2]*u_r[2]+0.0625*rho_r[2]*u_c[2]+0.0625*rho_c[2]*u_c[2]+0.1875*rho_r[1]*u_r[1]-0.1875*rho_c[1]*u_r[1]-0.1082531754730548*rho_r[0]*u_r[1]-0.1082531754730548*rho_c[0]*u_r[1]-0.1875*rho_r[1]*u_c[1]+0.1875*rho_c[1]*u_c[1]+0.1082531754730548*rho_r[0]*u_c[1]+0.1082531754730548*rho_c[0]*u_c[1]-0.1082531754730548*u_r[0]*rho_r[1]-0.1082531754730548*u_c[0]*rho_r[1]+0.1082531754730548*u_r[0]*rho_c[1]+0.1082531754730548*u_c[0]*rho_c[1]+0.0625*rho_r[0]*u_r[0]+0.0625*rho_c[0]*u_r[0]+0.0625*rho_r[0]*u_c[0]+0.0625*rho_c[0]*u_c[0]; + flux_rho_r[1] = 0.1875*rho_r[5]*u_r[7]-0.1875*rho_c[5]*u_r[7]-0.1082531754730548*rho_r[3]*u_r[7]-0.1082531754730548*rho_c[3]*u_r[7]-0.1875*rho_r[5]*u_c[7]+0.1875*rho_c[5]*u_c[7]+0.1082531754730548*rho_r[3]*u_c[7]+0.1082531754730548*rho_c[3]*u_c[7]+0.1875*u_r[5]*rho_r[7]-0.1875*u_c[5]*rho_r[7]-0.1082531754730548*u_r[3]*rho_r[7]-0.1082531754730548*u_c[3]*rho_r[7]-0.1875*u_r[5]*rho_c[7]+0.1875*u_c[5]*rho_c[7]+0.1082531754730548*u_r[3]*rho_c[7]+0.1082531754730548*u_c[3]*rho_c[7]-0.1082531754730548*rho_r[5]*u_r[6]+0.1082531754730548*rho_c[5]*u_r[6]+0.0625*rho_r[3]*u_r[6]+0.0625*rho_c[3]*u_r[6]-0.1082531754730548*rho_r[5]*u_c[6]+0.1082531754730548*rho_c[5]*u_c[6]+0.0625*rho_r[3]*u_c[6]+0.0625*rho_c[3]*u_c[6]-0.1082531754730548*u_r[5]*rho_r[6]+0.1082531754730548*u_c[5]*rho_r[6]+0.0625*u_r[3]*rho_r[6]+0.0625*u_c[3]*rho_r[6]-0.1082531754730548*u_r[5]*rho_c[6]+0.1082531754730548*u_c[5]*rho_c[6]+0.0625*u_r[3]*rho_c[6]+0.0625*u_c[3]*rho_c[6]+0.1875*rho_r[1]*u_r[4]-0.1875*rho_c[1]*u_r[4]-0.1082531754730548*rho_r[0]*u_r[4]-0.1082531754730548*rho_c[0]*u_r[4]-0.1875*rho_r[1]*u_c[4]+0.1875*rho_c[1]*u_c[4]+0.1082531754730548*rho_r[0]*u_c[4]+0.1082531754730548*rho_c[0]*u_c[4]+0.1875*u_r[1]*rho_r[4]-0.1875*u_c[1]*rho_r[4]-0.1082531754730548*u_r[0]*rho_r[4]-0.1082531754730548*u_c[0]*rho_r[4]-0.1875*u_r[1]*rho_c[4]+0.1875*u_c[1]*rho_c[4]+0.1082531754730548*u_r[0]*rho_c[4]+0.1082531754730548*u_c[0]*rho_c[4]-0.1082531754730548*rho_r[1]*u_r[2]+0.1082531754730548*rho_c[1]*u_r[2]+0.0625*rho_r[0]*u_r[2]+0.0625*rho_c[0]*u_r[2]-0.1082531754730548*rho_r[1]*u_c[2]+0.1082531754730548*rho_c[1]*u_c[2]+0.0625*rho_r[0]*u_c[2]+0.0625*rho_c[0]*u_c[2]-0.1082531754730548*u_r[1]*rho_r[2]+0.1082531754730548*u_c[1]*rho_r[2]+0.0625*u_r[0]*rho_r[2]+0.0625*u_c[0]*rho_r[2]-0.1082531754730548*u_r[1]*rho_c[2]+0.1082531754730548*u_c[1]*rho_c[2]+0.0625*u_r[0]*rho_c[2]+0.0625*u_c[0]*rho_c[2]; + flux_rho_r[2] = 0.1875*rho_r[4]*u_r[7]-0.1875*rho_c[4]*u_r[7]-0.1082531754730548*rho_r[2]*u_r[7]-0.1082531754730548*rho_c[2]*u_r[7]-0.1875*rho_r[4]*u_c[7]+0.1875*rho_c[4]*u_c[7]+0.1082531754730548*rho_r[2]*u_c[7]+0.1082531754730548*rho_c[2]*u_c[7]+0.1875*u_r[4]*rho_r[7]-0.1875*u_c[4]*rho_r[7]-0.1082531754730548*u_r[2]*rho_r[7]-0.1082531754730548*u_c[2]*rho_r[7]-0.1875*u_r[4]*rho_c[7]+0.1875*u_c[4]*rho_c[7]+0.1082531754730548*u_r[2]*rho_c[7]+0.1082531754730548*u_c[2]*rho_c[7]-0.1082531754730548*rho_r[4]*u_r[6]+0.1082531754730548*rho_c[4]*u_r[6]+0.0625*rho_r[2]*u_r[6]+0.0625*rho_c[2]*u_r[6]-0.1082531754730548*rho_r[4]*u_c[6]+0.1082531754730548*rho_c[4]*u_c[6]+0.0625*rho_r[2]*u_c[6]+0.0625*rho_c[2]*u_c[6]-0.1082531754730548*u_r[4]*rho_r[6]+0.1082531754730548*u_c[4]*rho_r[6]+0.0625*u_r[2]*rho_r[6]+0.0625*u_c[2]*rho_r[6]-0.1082531754730548*u_r[4]*rho_c[6]+0.1082531754730548*u_c[4]*rho_c[6]+0.0625*u_r[2]*rho_c[6]+0.0625*u_c[2]*rho_c[6]+0.1875*rho_r[1]*u_r[5]-0.1875*rho_c[1]*u_r[5]-0.1082531754730548*rho_r[0]*u_r[5]-0.1082531754730548*rho_c[0]*u_r[5]-0.1875*rho_r[1]*u_c[5]+0.1875*rho_c[1]*u_c[5]+0.1082531754730548*rho_r[0]*u_c[5]+0.1082531754730548*rho_c[0]*u_c[5]+0.1875*u_r[1]*rho_r[5]-0.1875*u_c[1]*rho_r[5]-0.1082531754730548*u_r[0]*rho_r[5]-0.1082531754730548*u_c[0]*rho_r[5]-0.1875*u_r[1]*rho_c[5]+0.1875*u_c[1]*rho_c[5]+0.1082531754730548*u_r[0]*rho_c[5]+0.1082531754730548*u_c[0]*rho_c[5]-0.1082531754730548*rho_r[1]*u_r[3]+0.1082531754730548*rho_c[1]*u_r[3]+0.0625*rho_r[0]*u_r[3]+0.0625*rho_c[0]*u_r[3]-0.1082531754730548*rho_r[1]*u_c[3]+0.1082531754730548*rho_c[1]*u_c[3]+0.0625*rho_r[0]*u_c[3]+0.0625*rho_c[0]*u_c[3]-0.1082531754730548*u_r[1]*rho_r[3]+0.1082531754730548*u_c[1]*rho_r[3]+0.0625*u_r[0]*rho_r[3]+0.0625*u_c[0]*rho_r[3]-0.1082531754730548*u_r[1]*rho_c[3]+0.1082531754730548*u_c[1]*rho_c[3]+0.0625*u_r[0]*rho_c[3]+0.0625*u_c[0]*rho_c[3]; + flux_rho_r[3] = 0.1875*rho_r[1]*u_r[7]-0.1875*rho_c[1]*u_r[7]-0.1082531754730548*rho_r[0]*u_r[7]-0.1082531754730548*rho_c[0]*u_r[7]-0.1875*rho_r[1]*u_c[7]+0.1875*rho_c[1]*u_c[7]+0.1082531754730548*rho_r[0]*u_c[7]+0.1082531754730548*rho_c[0]*u_c[7]+0.1875*u_r[1]*rho_r[7]-0.1875*u_c[1]*rho_r[7]-0.1082531754730548*u_r[0]*rho_r[7]-0.1082531754730548*u_c[0]*rho_r[7]-0.1875*u_r[1]*rho_c[7]+0.1875*u_c[1]*rho_c[7]+0.1082531754730548*u_r[0]*rho_c[7]+0.1082531754730548*u_c[0]*rho_c[7]-0.1082531754730548*rho_r[1]*u_r[6]+0.1082531754730548*rho_c[1]*u_r[6]+0.0625*rho_r[0]*u_r[6]+0.0625*rho_c[0]*u_r[6]-0.1082531754730548*rho_r[1]*u_c[6]+0.1082531754730548*rho_c[1]*u_c[6]+0.0625*rho_r[0]*u_c[6]+0.0625*rho_c[0]*u_c[6]-0.1082531754730548*u_r[1]*rho_r[6]+0.1082531754730548*u_c[1]*rho_r[6]+0.0625*u_r[0]*rho_r[6]+0.0625*u_c[0]*rho_r[6]-0.1082531754730548*u_r[1]*rho_c[6]+0.1082531754730548*u_c[1]*rho_c[6]+0.0625*u_r[0]*rho_c[6]+0.0625*u_c[0]*rho_c[6]+0.1875*rho_r[4]*u_r[5]-0.1875*rho_c[4]*u_r[5]-0.1082531754730548*rho_r[2]*u_r[5]-0.1082531754730548*rho_c[2]*u_r[5]-0.1875*rho_r[4]*u_c[5]+0.1875*rho_c[4]*u_c[5]+0.1082531754730548*rho_r[2]*u_c[5]+0.1082531754730548*rho_c[2]*u_c[5]+0.1875*u_r[4]*rho_r[5]-0.1875*u_c[4]*rho_r[5]-0.1082531754730548*u_r[2]*rho_r[5]-0.1082531754730548*u_c[2]*rho_r[5]-0.1875*u_r[4]*rho_c[5]+0.1875*u_c[4]*rho_c[5]+0.1082531754730548*u_r[2]*rho_c[5]+0.1082531754730548*u_c[2]*rho_c[5]-0.1082531754730548*rho_r[3]*u_r[4]-0.1082531754730548*rho_c[3]*u_r[4]+0.1082531754730548*rho_r[3]*u_c[4]+0.1082531754730548*rho_c[3]*u_c[4]-0.1082531754730548*u_r[3]*rho_r[4]-0.1082531754730548*u_c[3]*rho_r[4]+0.1082531754730548*u_r[3]*rho_c[4]+0.1082531754730548*u_c[3]*rho_c[4]+0.0625*rho_r[2]*u_r[3]+0.0625*rho_c[2]*u_r[3]+0.0625*rho_r[2]*u_c[3]+0.0625*rho_c[2]*u_c[3]+0.0625*u_r[2]*rho_r[3]+0.0625*u_c[2]*rho_r[3]+0.0625*u_r[2]*rho_c[3]+0.0625*u_c[2]*rho_c[3]; + + avg_ux_l[0] = 0.6123724356957944*ux_l[1]-0.6123724356957944*ux_c[1]+0.3535533905932737*ux_l[0]+0.3535533905932737*ux_c[0]; + avg_ux_l[1] = 0.6123724356957944*ux_l[4]-0.6123724356957944*ux_c[4]+0.3535533905932737*ux_l[2]+0.3535533905932737*ux_c[2]; + avg_ux_l[2] = 0.6123724356957944*ux_l[5]-0.6123724356957944*ux_c[5]+0.3535533905932737*ux_l[3]+0.3535533905932737*ux_c[3]; + avg_ux_l[3] = 0.6123724356957944*ux_l[7]-0.6123724356957944*ux_c[7]+0.3535533905932737*ux_l[6]+0.3535533905932737*ux_c[6]; + + avg_ux_r[0] = (-0.6123724356957944*ux_r[1])+0.6123724356957944*ux_c[1]+0.3535533905932737*ux_r[0]+0.3535533905932737*ux_c[0]; + avg_ux_r[1] = (-0.6123724356957944*ux_r[4])+0.6123724356957944*ux_c[4]+0.3535533905932737*ux_r[2]+0.3535533905932737*ux_c[2]; + avg_ux_r[2] = (-0.6123724356957944*ux_r[5])+0.6123724356957944*ux_c[5]+0.3535533905932737*ux_r[3]+0.3535533905932737*ux_c[3]; + avg_ux_r[3] = (-0.6123724356957944*ux_r[7])+0.6123724356957944*ux_c[7]+0.3535533905932737*ux_r[6]+0.3535533905932737*ux_c[6]; + + avg_uy_l[0] = 0.6123724356957944*uy_l[1]-0.6123724356957944*uy_c[1]+0.3535533905932737*uy_l[0]+0.3535533905932737*uy_c[0]; + avg_uy_l[1] = 0.6123724356957944*uy_l[4]-0.6123724356957944*uy_c[4]+0.3535533905932737*uy_l[2]+0.3535533905932737*uy_c[2]; + avg_uy_l[2] = 0.6123724356957944*uy_l[5]-0.6123724356957944*uy_c[5]+0.3535533905932737*uy_l[3]+0.3535533905932737*uy_c[3]; + avg_uy_l[3] = 0.6123724356957944*uy_l[7]-0.6123724356957944*uy_c[7]+0.3535533905932737*uy_l[6]+0.3535533905932737*uy_c[6]; + + avg_uy_r[0] = (-0.6123724356957944*uy_r[1])+0.6123724356957944*uy_c[1]+0.3535533905932737*uy_r[0]+0.3535533905932737*uy_c[0]; + avg_uy_r[1] = (-0.6123724356957944*uy_r[4])+0.6123724356957944*uy_c[4]+0.3535533905932737*uy_r[2]+0.3535533905932737*uy_c[2]; + avg_uy_r[2] = (-0.6123724356957944*uy_r[5])+0.6123724356957944*uy_c[5]+0.3535533905932737*uy_r[3]+0.3535533905932737*uy_c[3]; + avg_uy_r[3] = (-0.6123724356957944*uy_r[7])+0.6123724356957944*uy_c[7]+0.3535533905932737*uy_r[6]+0.3535533905932737*uy_c[6]; + + avg_uz_l[0] = 0.6123724356957944*uz_l[1]-0.6123724356957944*uz_c[1]+0.3535533905932737*uz_l[0]+0.3535533905932737*uz_c[0]; + avg_uz_l[1] = 0.6123724356957944*uz_l[4]-0.6123724356957944*uz_c[4]+0.3535533905932737*uz_l[2]+0.3535533905932737*uz_c[2]; + avg_uz_l[2] = 0.6123724356957944*uz_l[5]-0.6123724356957944*uz_c[5]+0.3535533905932737*uz_l[3]+0.3535533905932737*uz_c[3]; + avg_uz_l[3] = 0.6123724356957944*uz_l[7]-0.6123724356957944*uz_c[7]+0.3535533905932737*uz_l[6]+0.3535533905932737*uz_c[6]; + + avg_uz_r[0] = (-0.6123724356957944*uz_r[1])+0.6123724356957944*uz_c[1]+0.3535533905932737*uz_r[0]+0.3535533905932737*uz_c[0]; + avg_uz_r[1] = (-0.6123724356957944*uz_r[4])+0.6123724356957944*uz_c[4]+0.3535533905932737*uz_r[2]+0.3535533905932737*uz_c[2]; + avg_uz_r[2] = (-0.6123724356957944*uz_r[5])+0.6123724356957944*uz_c[5]+0.3535533905932737*uz_r[3]+0.3535533905932737*uz_c[3]; + avg_uz_r[3] = (-0.6123724356957944*uz_r[7])+0.6123724356957944*uz_c[7]+0.3535533905932737*uz_r[6]+0.3535533905932737*uz_c[6]; + + jump_rhoux_l[0] = (-0.6123724356957944*rhoux_l[1])-0.6123724356957944*rhoux_c[1]-0.3535533905932737*rhoux_l[0]+0.3535533905932737*rhoux_c[0]; + jump_rhoux_l[1] = (-0.6123724356957944*rhoux_l[4])-0.6123724356957944*rhoux_c[4]-0.3535533905932737*rhoux_l[2]+0.3535533905932737*rhoux_c[2]; + jump_rhoux_l[2] = (-0.6123724356957944*rhoux_l[5])-0.6123724356957944*rhoux_c[5]-0.3535533905932737*rhoux_l[3]+0.3535533905932737*rhoux_c[3]; + jump_rhoux_l[3] = (-0.6123724356957944*rhoux_l[7])-0.6123724356957944*rhoux_c[7]-0.3535533905932737*rhoux_l[6]+0.3535533905932737*rhoux_c[6]; + + jump_rhoux_r[0] = (-0.6123724356957944*rhoux_r[1])-0.6123724356957944*rhoux_c[1]+0.3535533905932737*rhoux_r[0]-0.3535533905932737*rhoux_c[0]; + jump_rhoux_r[1] = (-0.6123724356957944*rhoux_r[4])-0.6123724356957944*rhoux_c[4]+0.3535533905932737*rhoux_r[2]-0.3535533905932737*rhoux_c[2]; + jump_rhoux_r[2] = (-0.6123724356957944*rhoux_r[5])-0.6123724356957944*rhoux_c[5]+0.3535533905932737*rhoux_r[3]-0.3535533905932737*rhoux_c[3]; + jump_rhoux_r[3] = (-0.6123724356957944*rhoux_r[7])-0.6123724356957944*rhoux_c[7]+0.3535533905932737*rhoux_r[6]-0.3535533905932737*rhoux_c[6]; + + jump_rhouy_l[0] = (-0.6123724356957944*rhouy_l[1])-0.6123724356957944*rhouy_c[1]-0.3535533905932737*rhouy_l[0]+0.3535533905932737*rhouy_c[0]; + jump_rhouy_l[1] = (-0.6123724356957944*rhouy_l[4])-0.6123724356957944*rhouy_c[4]-0.3535533905932737*rhouy_l[2]+0.3535533905932737*rhouy_c[2]; + jump_rhouy_l[2] = (-0.6123724356957944*rhouy_l[5])-0.6123724356957944*rhouy_c[5]-0.3535533905932737*rhouy_l[3]+0.3535533905932737*rhouy_c[3]; + jump_rhouy_l[3] = (-0.6123724356957944*rhouy_l[7])-0.6123724356957944*rhouy_c[7]-0.3535533905932737*rhouy_l[6]+0.3535533905932737*rhouy_c[6]; + + jump_rhouy_r[0] = (-0.6123724356957944*rhouy_r[1])-0.6123724356957944*rhouy_c[1]+0.3535533905932737*rhouy_r[0]-0.3535533905932737*rhouy_c[0]; + jump_rhouy_r[1] = (-0.6123724356957944*rhouy_r[4])-0.6123724356957944*rhouy_c[4]+0.3535533905932737*rhouy_r[2]-0.3535533905932737*rhouy_c[2]; + jump_rhouy_r[2] = (-0.6123724356957944*rhouy_r[5])-0.6123724356957944*rhouy_c[5]+0.3535533905932737*rhouy_r[3]-0.3535533905932737*rhouy_c[3]; + jump_rhouy_r[3] = (-0.6123724356957944*rhouy_r[7])-0.6123724356957944*rhouy_c[7]+0.3535533905932737*rhouy_r[6]-0.3535533905932737*rhouy_c[6]; + + jump_rhouz_l[0] = (-0.6123724356957944*rhouz_l[1])-0.6123724356957944*rhouz_c[1]-0.3535533905932737*rhouz_l[0]+0.3535533905932737*rhouz_c[0]; + jump_rhouz_l[1] = (-0.6123724356957944*rhouz_l[4])-0.6123724356957944*rhouz_c[4]-0.3535533905932737*rhouz_l[2]+0.3535533905932737*rhouz_c[2]; + jump_rhouz_l[2] = (-0.6123724356957944*rhouz_l[5])-0.6123724356957944*rhouz_c[5]-0.3535533905932737*rhouz_l[3]+0.3535533905932737*rhouz_c[3]; + jump_rhouz_l[3] = (-0.6123724356957944*rhouz_l[7])-0.6123724356957944*rhouz_c[7]-0.3535533905932737*rhouz_l[6]+0.3535533905932737*rhouz_c[6]; + + jump_rhouz_r[0] = (-0.6123724356957944*rhouz_r[1])-0.6123724356957944*rhouz_c[1]+0.3535533905932737*rhouz_r[0]-0.3535533905932737*rhouz_c[0]; + jump_rhouz_r[1] = (-0.6123724356957944*rhouz_r[4])-0.6123724356957944*rhouz_c[4]+0.3535533905932737*rhouz_r[2]-0.3535533905932737*rhouz_c[2]; + jump_rhouz_r[2] = (-0.6123724356957944*rhouz_r[5])-0.6123724356957944*rhouz_c[5]+0.3535533905932737*rhouz_r[3]-0.3535533905932737*rhouz_c[3]; + jump_rhouz_r[3] = (-0.6123724356957944*rhouz_r[7])-0.6123724356957944*rhouz_c[7]+0.3535533905932737*rhouz_r[6]-0.3535533905932737*rhouz_c[6]; + + double ul_r = 0.0; + double uc_l = 0.0; + double uc_r = 0.0; + double ur_l = 0.0; double uQuad_l = 0.0; double uQuad_r = 0.0; - double vth_sq_l_r = 0.0; - double vth_sq_c_l = 0.0; - double vth_sq_c_r = 0.0; - double vth_sq_r_l = 0.0; + + double vth_sql_r = 0.0; + double vth_sqc_l = 0.0; + double vth_sqc_r = 0.0; + double vth_sqr_l = 0.0; double vthQuad_l = 0.0; double vthQuad_r = 0.0; - double max_speed_l = 0.0; - double max_speed_r = 0.0; - double rhoux_l_r = 0.0; - double rhoux_c_l = 0.0; - double rhoux_c_r = 0.0; - double rhoux_r_l = 0.0; - double rhouy_l_r = 0.0; - double rhouy_c_l = 0.0; - double rhouy_c_r = 0.0; - double rhouy_r_l = 0.0; - double rhouz_l_r = 0.0; - double rhouz_c_l = 0.0; - double rhouz_c_r = 0.0; - double rhouz_r_l = 0.0; - - u_l_r = ser_3x_p1_surfx1_eval_quad_node_0_r(u_l); - u_c_l = ser_3x_p1_surfx1_eval_quad_node_0_l(u_c); - u_c_r = ser_3x_p1_surfx1_eval_quad_node_0_r(u_c); - u_r_l = ser_3x_p1_surfx1_eval_quad_node_0_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx1_eval_quad_node_0_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx1_eval_quad_node_0_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx1_eval_quad_node_0_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx1_eval_quad_node_0_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx1_eval_quad_node_0_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx1_eval_quad_node_0_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx1_eval_quad_node_0_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx1_eval_quad_node_0_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx1_eval_quad_node_0_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx1_eval_quad_node_0_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx1_eval_quad_node_0_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx1_eval_quad_node_0_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx1_eval_quad_node_0_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx1_eval_quad_node_0_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx1_eval_quad_node_0_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx1_eval_quad_node_0_l(rhouz_r); - lax_rhoux_quad_l[0] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[0] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[0] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[0] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[0] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[0] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_3x_p1_surfx1_eval_quad_node_1_r(u_l); - u_c_l = ser_3x_p1_surfx1_eval_quad_node_1_l(u_c); - u_c_r = ser_3x_p1_surfx1_eval_quad_node_1_r(u_c); - u_r_l = ser_3x_p1_surfx1_eval_quad_node_1_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx1_eval_quad_node_1_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx1_eval_quad_node_1_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx1_eval_quad_node_1_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx1_eval_quad_node_1_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx1_eval_quad_node_1_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx1_eval_quad_node_1_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx1_eval_quad_node_1_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx1_eval_quad_node_1_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx1_eval_quad_node_1_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx1_eval_quad_node_1_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx1_eval_quad_node_1_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx1_eval_quad_node_1_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx1_eval_quad_node_1_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx1_eval_quad_node_1_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx1_eval_quad_node_1_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx1_eval_quad_node_1_l(rhouz_r); - lax_rhoux_quad_l[1] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[1] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[1] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[1] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[1] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[1] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_3x_p1_surfx1_eval_quad_node_2_r(u_l); - u_c_l = ser_3x_p1_surfx1_eval_quad_node_2_l(u_c); - u_c_r = ser_3x_p1_surfx1_eval_quad_node_2_r(u_c); - u_r_l = ser_3x_p1_surfx1_eval_quad_node_2_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx1_eval_quad_node_2_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx1_eval_quad_node_2_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx1_eval_quad_node_2_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx1_eval_quad_node_2_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx1_eval_quad_node_2_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx1_eval_quad_node_2_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx1_eval_quad_node_2_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx1_eval_quad_node_2_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx1_eval_quad_node_2_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx1_eval_quad_node_2_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx1_eval_quad_node_2_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx1_eval_quad_node_2_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx1_eval_quad_node_2_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx1_eval_quad_node_2_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx1_eval_quad_node_2_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx1_eval_quad_node_2_l(rhouz_r); - lax_rhoux_quad_l[2] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[2] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[2] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[2] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[2] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[2] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_3x_p1_surfx1_eval_quad_node_3_r(u_l); - u_c_l = ser_3x_p1_surfx1_eval_quad_node_3_l(u_c); - u_c_r = ser_3x_p1_surfx1_eval_quad_node_3_r(u_c); - u_r_l = ser_3x_p1_surfx1_eval_quad_node_3_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx1_eval_quad_node_3_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx1_eval_quad_node_3_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx1_eval_quad_node_3_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx1_eval_quad_node_3_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx1_eval_quad_node_3_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx1_eval_quad_node_3_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx1_eval_quad_node_3_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx1_eval_quad_node_3_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx1_eval_quad_node_3_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx1_eval_quad_node_3_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx1_eval_quad_node_3_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx1_eval_quad_node_3_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx1_eval_quad_node_3_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx1_eval_quad_node_3_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx1_eval_quad_node_3_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx1_eval_quad_node_3_l(rhouz_r); - lax_rhoux_quad_l[3] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[3] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[3] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[3] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[3] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[3] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - // Project tensor nodal quadrature basis back onto modal basis. - ser_3x_p1_upwind_quad_to_modal(lax_rhoux_quad_l, lax_rhoux_modal_l); - ser_3x_p1_upwind_quad_to_modal(lax_rhoux_quad_r, lax_rhoux_modal_r); - ser_3x_p1_upwind_quad_to_modal(lax_rhouy_quad_l, lax_rhouy_modal_l); - ser_3x_p1_upwind_quad_to_modal(lax_rhouy_quad_r, lax_rhouy_modal_r); - ser_3x_p1_upwind_quad_to_modal(lax_rhouz_quad_l, lax_rhouz_modal_l); - ser_3x_p1_upwind_quad_to_modal(lax_rhouz_quad_r, lax_rhouz_modal_r); - - outrhou0[0] += 0.7071067811865475*lax_rhoux_modal_l[0]*dx1-0.7071067811865475*lax_rhoux_modal_r[0]*dx1; - outrhou0[1] += (-1.224744871391589*lax_rhoux_modal_r[0]*dx1)-1.224744871391589*lax_rhoux_modal_l[0]*dx1; - outrhou0[2] += 0.7071067811865475*lax_rhoux_modal_l[1]*dx1-0.7071067811865475*lax_rhoux_modal_r[1]*dx1; - outrhou0[3] += 0.7071067811865475*lax_rhoux_modal_l[2]*dx1-0.7071067811865475*lax_rhoux_modal_r[2]*dx1; - outrhou0[4] += (-1.224744871391589*lax_rhoux_modal_r[1]*dx1)-1.224744871391589*lax_rhoux_modal_l[1]*dx1; - outrhou0[5] += (-1.224744871391589*lax_rhoux_modal_r[2]*dx1)-1.224744871391589*lax_rhoux_modal_l[2]*dx1; - outrhou0[6] += 0.7071067811865475*lax_rhoux_modal_l[3]*dx1-0.7071067811865475*lax_rhoux_modal_r[3]*dx1; - outrhou0[7] += (-1.224744871391589*lax_rhoux_modal_r[3]*dx1)-1.224744871391589*lax_rhoux_modal_l[3]*dx1; - - outrhou1[0] += 0.7071067811865475*lax_rhouy_modal_l[0]*dx1-0.7071067811865475*lax_rhouy_modal_r[0]*dx1; - outrhou1[1] += (-1.224744871391589*lax_rhouy_modal_r[0]*dx1)-1.224744871391589*lax_rhouy_modal_l[0]*dx1; - outrhou1[2] += 0.7071067811865475*lax_rhouy_modal_l[1]*dx1-0.7071067811865475*lax_rhouy_modal_r[1]*dx1; - outrhou1[3] += 0.7071067811865475*lax_rhouy_modal_l[2]*dx1-0.7071067811865475*lax_rhouy_modal_r[2]*dx1; - outrhou1[4] += (-1.224744871391589*lax_rhouy_modal_r[1]*dx1)-1.224744871391589*lax_rhouy_modal_l[1]*dx1; - outrhou1[5] += (-1.224744871391589*lax_rhouy_modal_r[2]*dx1)-1.224744871391589*lax_rhouy_modal_l[2]*dx1; - outrhou1[6] += 0.7071067811865475*lax_rhouy_modal_l[3]*dx1-0.7071067811865475*lax_rhouy_modal_r[3]*dx1; - outrhou1[7] += (-1.224744871391589*lax_rhouy_modal_r[3]*dx1)-1.224744871391589*lax_rhouy_modal_l[3]*dx1; - - outrhou2[0] += 0.7071067811865475*lax_rhouz_modal_l[0]*dx1-0.7071067811865475*lax_rhouz_modal_r[0]*dx1; - outrhou2[1] += (-1.224744871391589*lax_rhouz_modal_r[0]*dx1)-1.224744871391589*lax_rhouz_modal_l[0]*dx1; - outrhou2[2] += 0.7071067811865475*lax_rhouz_modal_l[1]*dx1-0.7071067811865475*lax_rhouz_modal_r[1]*dx1; - outrhou2[3] += 0.7071067811865475*lax_rhouz_modal_l[2]*dx1-0.7071067811865475*lax_rhouz_modal_r[2]*dx1; - outrhou2[4] += (-1.224744871391589*lax_rhouz_modal_r[1]*dx1)-1.224744871391589*lax_rhouz_modal_l[1]*dx1; - outrhou2[5] += (-1.224744871391589*lax_rhouz_modal_r[2]*dx1)-1.224744871391589*lax_rhouz_modal_l[2]*dx1; - outrhou2[6] += 0.7071067811865475*lax_rhouz_modal_l[3]*dx1-0.7071067811865475*lax_rhouz_modal_r[3]*dx1; - outrhou2[7] += (-1.224744871391589*lax_rhouz_modal_r[3]*dx1)-1.224744871391589*lax_rhouz_modal_l[3]*dx1; + + ul_r = ser_3x_p1_surfx1_eval_quad_node_0_r(u_l); + uc_l = ser_3x_p1_surfx1_eval_quad_node_0_l(u_c); + uc_r = ser_3x_p1_surfx1_eval_quad_node_0_r(u_c); + ur_l = ser_3x_p1_surfx1_eval_quad_node_0_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx1_eval_quad_node_0_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx1_eval_quad_node_0_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx1_eval_quad_node_0_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx1_eval_quad_node_0_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[0] = uQuad_l + vthQuad_l; + max_speed_quad_r[0] = uQuad_r + vthQuad_r; + ul_r = ser_3x_p1_surfx1_eval_quad_node_1_r(u_l); + uc_l = ser_3x_p1_surfx1_eval_quad_node_1_l(u_c); + uc_r = ser_3x_p1_surfx1_eval_quad_node_1_r(u_c); + ur_l = ser_3x_p1_surfx1_eval_quad_node_1_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx1_eval_quad_node_1_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx1_eval_quad_node_1_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx1_eval_quad_node_1_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx1_eval_quad_node_1_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[1] = uQuad_l + vthQuad_l; + max_speed_quad_r[1] = uQuad_r + vthQuad_r; + ul_r = ser_3x_p1_surfx1_eval_quad_node_2_r(u_l); + uc_l = ser_3x_p1_surfx1_eval_quad_node_2_l(u_c); + uc_r = ser_3x_p1_surfx1_eval_quad_node_2_r(u_c); + ur_l = ser_3x_p1_surfx1_eval_quad_node_2_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx1_eval_quad_node_2_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx1_eval_quad_node_2_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx1_eval_quad_node_2_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx1_eval_quad_node_2_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[2] = uQuad_l + vthQuad_l; + max_speed_quad_r[2] = uQuad_r + vthQuad_r; + ul_r = ser_3x_p1_surfx1_eval_quad_node_3_r(u_l); + uc_l = ser_3x_p1_surfx1_eval_quad_node_3_l(u_c); + uc_r = ser_3x_p1_surfx1_eval_quad_node_3_r(u_c); + ur_l = ser_3x_p1_surfx1_eval_quad_node_3_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx1_eval_quad_node_3_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx1_eval_quad_node_3_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx1_eval_quad_node_3_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx1_eval_quad_node_3_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[3] = uQuad_l + vthQuad_l; + max_speed_quad_r[3] = uQuad_r + vthQuad_r; + ser_3x_p1_upwind_quad_to_modal(max_speed_quad_l, max_speed_modal_l); + ser_3x_p1_upwind_quad_to_modal(max_speed_quad_r, max_speed_modal_r); + outrhou0[0] += 0.3535533905932737*jump_rhoux_r[3]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[3]*max_speed_modal_l[3]*dx1-0.3535533905932737*avg_ux_r[3]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[3]*flux_rho_l[3]*dx1+0.3535533905932737*jump_rhoux_r[2]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhoux_l[2]*max_speed_modal_l[2]*dx1-0.3535533905932737*avg_ux_r[2]*flux_rho_r[2]*dx1+0.3535533905932737*avg_ux_l[2]*flux_rho_l[2]*dx1+0.3535533905932737*jump_rhoux_r[1]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhoux_l[1]*max_speed_modal_l[1]*dx1-0.3535533905932737*avg_ux_r[1]*flux_rho_r[1]*dx1+0.3535533905932737*avg_ux_l[1]*flux_rho_l[1]*dx1+0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[0]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[0]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[0]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[0]*dx1; + outrhou0[1] += 0.6123724356957944*jump_rhoux_r[3]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[3]*max_speed_modal_l[3]*dx1-0.6123724356957944*avg_ux_r[3]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[3]*flux_rho_l[3]*dx1+0.6123724356957944*jump_rhoux_r[2]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhoux_l[2]*max_speed_modal_l[2]*dx1-0.6123724356957944*avg_ux_r[2]*flux_rho_r[2]*dx1-0.6123724356957944*avg_ux_l[2]*flux_rho_l[2]*dx1+0.6123724356957944*jump_rhoux_r[1]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhoux_l[1]*max_speed_modal_l[1]*dx1-0.6123724356957944*avg_ux_r[1]*flux_rho_r[1]*dx1-0.6123724356957944*avg_ux_l[1]*flux_rho_l[1]*dx1+0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[0]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[0]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[0]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[0]*dx1; + outrhou0[2] += 0.3535533905932737*jump_rhoux_r[2]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[2]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[2]*jump_rhoux_r[3]*dx1-0.3535533905932737*max_speed_modal_l[2]*jump_rhoux_l[3]*dx1-0.3535533905932737*avg_ux_r[2]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[2]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[2]*avg_ux_r[3]*dx1+0.3535533905932737*flux_rho_l[2]*avg_ux_l[3]*dx1+0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[1]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhoux_r[1]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhoux_l[1]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[1]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[1]*dx1-0.3535533905932737*flux_rho_r[0]*avg_ux_r[1]*dx1+0.3535533905932737*flux_rho_l[0]*avg_ux_l[1]*dx1; + outrhou0[3] += 0.3535533905932737*jump_rhoux_r[1]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[1]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhoux_r[3]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhoux_l[3]*dx1-0.3535533905932737*avg_ux_r[1]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[1]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[1]*avg_ux_r[3]*dx1+0.3535533905932737*flux_rho_l[1]*avg_ux_l[3]*dx1+0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhoux_r[2]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhoux_l[2]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[2]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[0]*avg_ux_r[2]*dx1+0.3535533905932737*flux_rho_l[0]*avg_ux_l[2]*dx1; + outrhou0[4] += 0.6123724356957944*jump_rhoux_r[2]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[2]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[2]*jump_rhoux_r[3]*dx1+0.6123724356957944*max_speed_modal_l[2]*jump_rhoux_l[3]*dx1-0.6123724356957944*avg_ux_r[2]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[2]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[2]*avg_ux_r[3]*dx1-0.6123724356957944*flux_rho_l[2]*avg_ux_l[3]*dx1+0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[1]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhoux_r[1]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhoux_l[1]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[1]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[1]*dx1-0.6123724356957944*flux_rho_r[0]*avg_ux_r[1]*dx1-0.6123724356957944*flux_rho_l[0]*avg_ux_l[1]*dx1; + outrhou0[5] += 0.6123724356957944*jump_rhoux_r[1]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[1]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhoux_r[3]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhoux_l[3]*dx1-0.6123724356957944*avg_ux_r[1]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[1]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[1]*avg_ux_r[3]*dx1-0.6123724356957944*flux_rho_l[1]*avg_ux_l[3]*dx1+0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhoux_r[2]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhoux_l[2]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[2]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[0]*avg_ux_r[2]*dx1-0.6123724356957944*flux_rho_l[0]*avg_ux_l[2]*dx1; + outrhou0[6] += 0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhoux_r[3]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhoux_l[3]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[0]*avg_ux_r[3]*dx1+0.3535533905932737*flux_rho_l[0]*avg_ux_l[3]*dx1+0.3535533905932737*jump_rhoux_r[1]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhoux_l[1]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhoux_r[2]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhoux_l[2]*dx1-0.3535533905932737*avg_ux_r[1]*flux_rho_r[2]*dx1+0.3535533905932737*avg_ux_l[1]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[1]*avg_ux_r[2]*dx1+0.3535533905932737*flux_rho_l[1]*avg_ux_l[2]*dx1; + outrhou0[7] += 0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhoux_r[3]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhoux_l[3]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[0]*avg_ux_r[3]*dx1-0.6123724356957944*flux_rho_l[0]*avg_ux_l[3]*dx1+0.6123724356957944*jump_rhoux_r[1]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhoux_l[1]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhoux_r[2]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhoux_l[2]*dx1-0.6123724356957944*avg_ux_r[1]*flux_rho_r[2]*dx1-0.6123724356957944*avg_ux_l[1]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[1]*avg_ux_r[2]*dx1-0.6123724356957944*flux_rho_l[1]*avg_ux_l[2]*dx1; + + outrhou1[0] += 0.3535533905932737*jump_rhouy_r[3]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[3]*max_speed_modal_l[3]*dx1-0.3535533905932737*avg_uy_r[3]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[3]*flux_rho_l[3]*dx1+0.3535533905932737*jump_rhouy_r[2]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouy_l[2]*max_speed_modal_l[2]*dx1-0.3535533905932737*avg_uy_r[2]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uy_l[2]*flux_rho_l[2]*dx1+0.3535533905932737*jump_rhouy_r[1]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouy_l[1]*max_speed_modal_l[1]*dx1-0.3535533905932737*avg_uy_r[1]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uy_l[1]*flux_rho_l[1]*dx1+0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[0]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[0]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[0]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[0]*dx1; + outrhou1[1] += 0.6123724356957944*jump_rhouy_r[3]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[3]*max_speed_modal_l[3]*dx1-0.6123724356957944*avg_uy_r[3]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[3]*flux_rho_l[3]*dx1+0.6123724356957944*jump_rhouy_r[2]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouy_l[2]*max_speed_modal_l[2]*dx1-0.6123724356957944*avg_uy_r[2]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uy_l[2]*flux_rho_l[2]*dx1+0.6123724356957944*jump_rhouy_r[1]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouy_l[1]*max_speed_modal_l[1]*dx1-0.6123724356957944*avg_uy_r[1]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uy_l[1]*flux_rho_l[1]*dx1+0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[0]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[0]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[0]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[0]*dx1; + outrhou1[2] += 0.3535533905932737*jump_rhouy_r[2]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[2]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[2]*jump_rhouy_r[3]*dx1-0.3535533905932737*max_speed_modal_l[2]*jump_rhouy_l[3]*dx1-0.3535533905932737*avg_uy_r[2]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[2]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[2]*avg_uy_r[3]*dx1+0.3535533905932737*flux_rho_l[2]*avg_uy_l[3]*dx1+0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[1]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouy_r[1]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouy_l[1]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[1]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uy_r[1]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uy_l[1]*dx1; + outrhou1[3] += 0.3535533905932737*jump_rhouy_r[1]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[1]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouy_r[3]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouy_l[3]*dx1-0.3535533905932737*avg_uy_r[1]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[1]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uy_r[3]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uy_l[3]*dx1+0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouy_r[2]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouy_l[2]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uy_r[2]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uy_l[2]*dx1; + outrhou1[4] += 0.6123724356957944*jump_rhouy_r[2]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[2]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[2]*jump_rhouy_r[3]*dx1+0.6123724356957944*max_speed_modal_l[2]*jump_rhouy_l[3]*dx1-0.6123724356957944*avg_uy_r[2]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[2]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[2]*avg_uy_r[3]*dx1-0.6123724356957944*flux_rho_l[2]*avg_uy_l[3]*dx1+0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[1]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouy_r[1]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouy_l[1]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[1]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uy_r[1]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uy_l[1]*dx1; + outrhou1[5] += 0.6123724356957944*jump_rhouy_r[1]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[1]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouy_r[3]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouy_l[3]*dx1-0.6123724356957944*avg_uy_r[1]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[1]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uy_r[3]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uy_l[3]*dx1+0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouy_r[2]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouy_l[2]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uy_r[2]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uy_l[2]*dx1; + outrhou1[6] += 0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouy_r[3]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouy_l[3]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uy_r[3]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uy_l[3]*dx1+0.3535533905932737*jump_rhouy_r[1]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouy_l[1]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouy_r[2]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouy_l[2]*dx1-0.3535533905932737*avg_uy_r[1]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uy_l[1]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uy_r[2]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uy_l[2]*dx1; + outrhou1[7] += 0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouy_r[3]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouy_l[3]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uy_r[3]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uy_l[3]*dx1+0.6123724356957944*jump_rhouy_r[1]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouy_l[1]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouy_r[2]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouy_l[2]*dx1-0.6123724356957944*avg_uy_r[1]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uy_l[1]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uy_r[2]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uy_l[2]*dx1; + + outrhou2[0] += 0.3535533905932737*jump_rhouz_r[3]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[3]*max_speed_modal_l[3]*dx1-0.3535533905932737*avg_uz_r[3]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[3]*flux_rho_l[3]*dx1+0.3535533905932737*jump_rhouz_r[2]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouz_l[2]*max_speed_modal_l[2]*dx1-0.3535533905932737*avg_uz_r[2]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uz_l[2]*flux_rho_l[2]*dx1+0.3535533905932737*jump_rhouz_r[1]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouz_l[1]*max_speed_modal_l[1]*dx1-0.3535533905932737*avg_uz_r[1]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uz_l[1]*flux_rho_l[1]*dx1+0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[0]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[0]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[0]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[0]*dx1; + outrhou2[1] += 0.6123724356957944*jump_rhouz_r[3]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[3]*max_speed_modal_l[3]*dx1-0.6123724356957944*avg_uz_r[3]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[3]*flux_rho_l[3]*dx1+0.6123724356957944*jump_rhouz_r[2]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouz_l[2]*max_speed_modal_l[2]*dx1-0.6123724356957944*avg_uz_r[2]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uz_l[2]*flux_rho_l[2]*dx1+0.6123724356957944*jump_rhouz_r[1]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouz_l[1]*max_speed_modal_l[1]*dx1-0.6123724356957944*avg_uz_r[1]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uz_l[1]*flux_rho_l[1]*dx1+0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[0]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[0]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[0]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[0]*dx1; + outrhou2[2] += 0.3535533905932737*jump_rhouz_r[2]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[2]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[2]*jump_rhouz_r[3]*dx1-0.3535533905932737*max_speed_modal_l[2]*jump_rhouz_l[3]*dx1-0.3535533905932737*avg_uz_r[2]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[2]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[2]*avg_uz_r[3]*dx1+0.3535533905932737*flux_rho_l[2]*avg_uz_l[3]*dx1+0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[1]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouz_r[1]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouz_l[1]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[1]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uz_r[1]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uz_l[1]*dx1; + outrhou2[3] += 0.3535533905932737*jump_rhouz_r[1]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[1]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouz_r[3]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouz_l[3]*dx1-0.3535533905932737*avg_uz_r[1]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[1]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uz_r[3]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uz_l[3]*dx1+0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouz_r[2]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouz_l[2]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uz_r[2]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uz_l[2]*dx1; + outrhou2[4] += 0.6123724356957944*jump_rhouz_r[2]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[2]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[2]*jump_rhouz_r[3]*dx1+0.6123724356957944*max_speed_modal_l[2]*jump_rhouz_l[3]*dx1-0.6123724356957944*avg_uz_r[2]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[2]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[2]*avg_uz_r[3]*dx1-0.6123724356957944*flux_rho_l[2]*avg_uz_l[3]*dx1+0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[1]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouz_r[1]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouz_l[1]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[1]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uz_r[1]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uz_l[1]*dx1; + outrhou2[5] += 0.6123724356957944*jump_rhouz_r[1]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[1]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouz_r[3]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouz_l[3]*dx1-0.6123724356957944*avg_uz_r[1]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[1]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uz_r[3]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uz_l[3]*dx1+0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouz_r[2]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouz_l[2]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uz_r[2]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uz_l[2]*dx1; + outrhou2[6] += 0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouz_r[3]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouz_l[3]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uz_r[3]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uz_l[3]*dx1+0.3535533905932737*jump_rhouz_r[1]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouz_l[1]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouz_r[2]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouz_l[2]*dx1-0.3535533905932737*avg_uz_r[1]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uz_l[1]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uz_r[2]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uz_l[2]*dx1; + outrhou2[7] += 0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouz_r[3]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouz_l[3]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uz_r[3]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uz_l[3]*dx1+0.6123724356957944*jump_rhouz_r[1]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouz_l[1]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouz_r[2]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouz_l[2]*dx1-0.6123724356957944*avg_uz_r[1]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uz_l[1]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uz_r[2]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uz_l[2]*dx1; + + return 0.; } diff --git a/kernels/pkpm/euler_pkpm_surfy_2x_ser_p1.c b/kernels/pkpm/euler_pkpm_surfy_2x_ser_p1.c index ad7277b29..85f0703f7 100644 --- a/kernels/pkpm/euler_pkpm_surfy_2x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_surfy_2x_ser_p1.c @@ -1,7 +1,8 @@ #include #include #include -GKYL_CU_DH void euler_pkpm_surfy_2x_ser_p1(const double *w, const double *dxv, +GKYL_CU_DH double euler_pkpm_surfy_2x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, const double *u_il, const double *u_ic, const double *u_ir, const double *T_ijl, const double *T_ijc, const double *T_ijr, const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out) @@ -27,6 +28,23 @@ GKYL_CU_DH void euler_pkpm_surfy_2x_ser_p1(const double *w, const double *dxv, const double *rhouy_r = &statevecr[4]; const double *rhouz_r = &statevecr[8]; + const double *rho_l = &vlasov_pkpm_momsl[0]; + const double *rho_c = &vlasov_pkpm_momsc[0]; + const double *rho_r = &vlasov_pkpm_momsr[0]; + + const double *ux_l = &u_il[0]; + const double *ux_c = &u_ic[0]; + const double *ux_r = &u_ir[0]; + + const double *uy_l = &u_il[4]; + const double *uy_c = &u_ic[4]; + const double *uy_r = &u_ir[4]; + + const double *uz_l = &u_il[8]; + const double *uz_c = &u_ic[8]; + const double *uz_r = &u_ir[8]; + + // Get another pointer for u in direction of update for ease of flux calculation. const double *u_l = &u_il[4]; const double *u_c = &u_ic[4]; const double *u_r = &u_ir[4]; @@ -40,133 +58,125 @@ GKYL_CU_DH void euler_pkpm_surfy_2x_ser_p1(const double *w, const double *dxv, double *outrhou1 = &out[4]; double *outrhou2 = &out[8]; - double lax_rhoux_quad_l[2] = {0.0}; - double lax_rhoux_quad_r[2] = {0.0}; - double lax_rhoux_modal_l[2] = {0.0}; - double lax_rhoux_modal_r[2] = {0.0}; - double lax_rhouy_quad_l[2] = {0.0}; - double lax_rhouy_quad_r[2] = {0.0}; - double lax_rhouy_modal_l[2] = {0.0}; - double lax_rhouy_modal_r[2] = {0.0}; - double lax_rhouz_quad_l[2] = {0.0}; - double lax_rhouz_quad_r[2] = {0.0}; - double lax_rhouz_modal_l[2] = {0.0}; - double lax_rhouz_modal_r[2] = {0.0}; - - double u_l_r = 0.0; - double u_c_l = 0.0; - double u_c_r = 0.0; - double u_r_l = 0.0; + double flux_rho_l[2] = {0.0}; + double flux_rho_r[2] = {0.0}; + double avg_ux_l[2] = {0.0}; + double avg_ux_r[2] = {0.0}; + double avg_uy_l[2] = {0.0}; + double avg_uy_r[2] = {0.0}; + double avg_uz_l[2] = {0.0}; + double avg_uz_r[2] = {0.0}; + double jump_rhoux_l[2] = {0.0}; + double jump_rhoux_r[2] = {0.0}; + double jump_rhouy_l[2] = {0.0}; + double jump_rhouy_r[2] = {0.0}; + double jump_rhouz_l[2] = {0.0}; + double jump_rhouz_r[2] = {0.0}; + double max_speed_quad_l[2] = {0.0}; + double max_speed_quad_r[2] = {0.0}; + double max_speed_modal_l[2] = {0.0}; + double max_speed_modal_r[2] = {0.0}; + flux_rho_l[0] = 0.2651650429449552*rho_l[3]*u_l[3]-0.2651650429449552*rho_c[3]*u_l[3]+0.1530931089239486*rho_l[1]*u_l[3]+0.1530931089239486*rho_c[1]*u_l[3]-0.2651650429449552*rho_l[3]*u_c[3]+0.2651650429449552*rho_c[3]*u_c[3]-0.1530931089239486*rho_l[1]*u_c[3]-0.1530931089239486*rho_c[1]*u_c[3]+0.1530931089239486*u_l[1]*rho_l[3]+0.1530931089239486*u_c[1]*rho_l[3]-0.1530931089239486*u_l[1]*rho_c[3]-0.1530931089239486*u_c[1]*rho_c[3]+0.2651650429449552*rho_l[2]*u_l[2]-0.2651650429449552*rho_c[2]*u_l[2]+0.1530931089239486*rho_l[0]*u_l[2]+0.1530931089239486*rho_c[0]*u_l[2]-0.2651650429449552*rho_l[2]*u_c[2]+0.2651650429449552*rho_c[2]*u_c[2]-0.1530931089239486*rho_l[0]*u_c[2]-0.1530931089239486*rho_c[0]*u_c[2]+0.1530931089239486*u_l[0]*rho_l[2]+0.1530931089239486*u_c[0]*rho_l[2]-0.1530931089239486*u_l[0]*rho_c[2]-0.1530931089239486*u_c[0]*rho_c[2]+0.0883883476483184*rho_l[1]*u_l[1]+0.0883883476483184*rho_c[1]*u_l[1]+0.0883883476483184*rho_l[1]*u_c[1]+0.0883883476483184*rho_c[1]*u_c[1]+0.0883883476483184*rho_l[0]*u_l[0]+0.0883883476483184*rho_c[0]*u_l[0]+0.0883883476483184*rho_l[0]*u_c[0]+0.0883883476483184*rho_c[0]*u_c[0]; + flux_rho_l[1] = 0.2651650429449552*rho_l[2]*u_l[3]-0.2651650429449552*rho_c[2]*u_l[3]+0.1530931089239486*rho_l[0]*u_l[3]+0.1530931089239486*rho_c[0]*u_l[3]-0.2651650429449552*rho_l[2]*u_c[3]+0.2651650429449552*rho_c[2]*u_c[3]-0.1530931089239486*rho_l[0]*u_c[3]-0.1530931089239486*rho_c[0]*u_c[3]+0.2651650429449552*u_l[2]*rho_l[3]-0.2651650429449552*u_c[2]*rho_l[3]+0.1530931089239486*u_l[0]*rho_l[3]+0.1530931089239486*u_c[0]*rho_l[3]-0.2651650429449552*u_l[2]*rho_c[3]+0.2651650429449552*u_c[2]*rho_c[3]-0.1530931089239486*u_l[0]*rho_c[3]-0.1530931089239486*u_c[0]*rho_c[3]+0.1530931089239486*rho_l[1]*u_l[2]+0.1530931089239486*rho_c[1]*u_l[2]-0.1530931089239486*rho_l[1]*u_c[2]-0.1530931089239486*rho_c[1]*u_c[2]+0.1530931089239486*u_l[1]*rho_l[2]+0.1530931089239486*u_c[1]*rho_l[2]-0.1530931089239486*u_l[1]*rho_c[2]-0.1530931089239486*u_c[1]*rho_c[2]+0.0883883476483184*rho_l[0]*u_l[1]+0.0883883476483184*rho_c[0]*u_l[1]+0.0883883476483184*rho_l[0]*u_c[1]+0.0883883476483184*rho_c[0]*u_c[1]+0.0883883476483184*u_l[0]*rho_l[1]+0.0883883476483184*u_c[0]*rho_l[1]+0.0883883476483184*u_l[0]*rho_c[1]+0.0883883476483184*u_c[0]*rho_c[1]; + + flux_rho_r[0] = 0.2651650429449552*rho_r[3]*u_r[3]-0.2651650429449552*rho_c[3]*u_r[3]-0.1530931089239486*rho_r[1]*u_r[3]-0.1530931089239486*rho_c[1]*u_r[3]-0.2651650429449552*rho_r[3]*u_c[3]+0.2651650429449552*rho_c[3]*u_c[3]+0.1530931089239486*rho_r[1]*u_c[3]+0.1530931089239486*rho_c[1]*u_c[3]-0.1530931089239486*u_r[1]*rho_r[3]-0.1530931089239486*u_c[1]*rho_r[3]+0.1530931089239486*u_r[1]*rho_c[3]+0.1530931089239486*u_c[1]*rho_c[3]+0.2651650429449552*rho_r[2]*u_r[2]-0.2651650429449552*rho_c[2]*u_r[2]-0.1530931089239486*rho_r[0]*u_r[2]-0.1530931089239486*rho_c[0]*u_r[2]-0.2651650429449552*rho_r[2]*u_c[2]+0.2651650429449552*rho_c[2]*u_c[2]+0.1530931089239486*rho_r[0]*u_c[2]+0.1530931089239486*rho_c[0]*u_c[2]-0.1530931089239486*u_r[0]*rho_r[2]-0.1530931089239486*u_c[0]*rho_r[2]+0.1530931089239486*u_r[0]*rho_c[2]+0.1530931089239486*u_c[0]*rho_c[2]+0.0883883476483184*rho_r[1]*u_r[1]+0.0883883476483184*rho_c[1]*u_r[1]+0.0883883476483184*rho_r[1]*u_c[1]+0.0883883476483184*rho_c[1]*u_c[1]+0.0883883476483184*rho_r[0]*u_r[0]+0.0883883476483184*rho_c[0]*u_r[0]+0.0883883476483184*rho_r[0]*u_c[0]+0.0883883476483184*rho_c[0]*u_c[0]; + flux_rho_r[1] = 0.2651650429449552*rho_r[2]*u_r[3]-0.2651650429449552*rho_c[2]*u_r[3]-0.1530931089239486*rho_r[0]*u_r[3]-0.1530931089239486*rho_c[0]*u_r[3]-0.2651650429449552*rho_r[2]*u_c[3]+0.2651650429449552*rho_c[2]*u_c[3]+0.1530931089239486*rho_r[0]*u_c[3]+0.1530931089239486*rho_c[0]*u_c[3]+0.2651650429449552*u_r[2]*rho_r[3]-0.2651650429449552*u_c[2]*rho_r[3]-0.1530931089239486*u_r[0]*rho_r[3]-0.1530931089239486*u_c[0]*rho_r[3]-0.2651650429449552*u_r[2]*rho_c[3]+0.2651650429449552*u_c[2]*rho_c[3]+0.1530931089239486*u_r[0]*rho_c[3]+0.1530931089239486*u_c[0]*rho_c[3]-0.1530931089239486*rho_r[1]*u_r[2]-0.1530931089239486*rho_c[1]*u_r[2]+0.1530931089239486*rho_r[1]*u_c[2]+0.1530931089239486*rho_c[1]*u_c[2]-0.1530931089239486*u_r[1]*rho_r[2]-0.1530931089239486*u_c[1]*rho_r[2]+0.1530931089239486*u_r[1]*rho_c[2]+0.1530931089239486*u_c[1]*rho_c[2]+0.0883883476483184*rho_r[0]*u_r[1]+0.0883883476483184*rho_c[0]*u_r[1]+0.0883883476483184*rho_r[0]*u_c[1]+0.0883883476483184*rho_c[0]*u_c[1]+0.0883883476483184*u_r[0]*rho_r[1]+0.0883883476483184*u_c[0]*rho_r[1]+0.0883883476483184*u_r[0]*rho_c[1]+0.0883883476483184*u_c[0]*rho_c[1]; + + avg_ux_l[0] = 0.6123724356957944*ux_l[2]-0.6123724356957944*ux_c[2]+0.3535533905932737*ux_l[0]+0.3535533905932737*ux_c[0]; + avg_ux_l[1] = 0.6123724356957944*ux_l[3]-0.6123724356957944*ux_c[3]+0.3535533905932737*ux_l[1]+0.3535533905932737*ux_c[1]; + + avg_ux_r[0] = (-0.6123724356957944*ux_r[2])+0.6123724356957944*ux_c[2]+0.3535533905932737*ux_r[0]+0.3535533905932737*ux_c[0]; + avg_ux_r[1] = (-0.6123724356957944*ux_r[3])+0.6123724356957944*ux_c[3]+0.3535533905932737*ux_r[1]+0.3535533905932737*ux_c[1]; + + avg_uy_l[0] = 0.6123724356957944*uy_l[2]-0.6123724356957944*uy_c[2]+0.3535533905932737*uy_l[0]+0.3535533905932737*uy_c[0]; + avg_uy_l[1] = 0.6123724356957944*uy_l[3]-0.6123724356957944*uy_c[3]+0.3535533905932737*uy_l[1]+0.3535533905932737*uy_c[1]; + + avg_uy_r[0] = (-0.6123724356957944*uy_r[2])+0.6123724356957944*uy_c[2]+0.3535533905932737*uy_r[0]+0.3535533905932737*uy_c[0]; + avg_uy_r[1] = (-0.6123724356957944*uy_r[3])+0.6123724356957944*uy_c[3]+0.3535533905932737*uy_r[1]+0.3535533905932737*uy_c[1]; + + avg_uz_l[0] = 0.6123724356957944*uz_l[2]-0.6123724356957944*uz_c[2]+0.3535533905932737*uz_l[0]+0.3535533905932737*uz_c[0]; + avg_uz_l[1] = 0.6123724356957944*uz_l[3]-0.6123724356957944*uz_c[3]+0.3535533905932737*uz_l[1]+0.3535533905932737*uz_c[1]; + + avg_uz_r[0] = (-0.6123724356957944*uz_r[2])+0.6123724356957944*uz_c[2]+0.3535533905932737*uz_r[0]+0.3535533905932737*uz_c[0]; + avg_uz_r[1] = (-0.6123724356957944*uz_r[3])+0.6123724356957944*uz_c[3]+0.3535533905932737*uz_r[1]+0.3535533905932737*uz_c[1]; + + jump_rhoux_l[0] = (-0.6123724356957944*rhoux_l[2])-0.6123724356957944*rhoux_c[2]-0.3535533905932737*rhoux_l[0]+0.3535533905932737*rhoux_c[0]; + jump_rhoux_l[1] = (-0.6123724356957944*rhoux_l[3])-0.6123724356957944*rhoux_c[3]-0.3535533905932737*rhoux_l[1]+0.3535533905932737*rhoux_c[1]; + + jump_rhoux_r[0] = (-0.6123724356957944*rhoux_r[2])-0.6123724356957944*rhoux_c[2]+0.3535533905932737*rhoux_r[0]-0.3535533905932737*rhoux_c[0]; + jump_rhoux_r[1] = (-0.6123724356957944*rhoux_r[3])-0.6123724356957944*rhoux_c[3]+0.3535533905932737*rhoux_r[1]-0.3535533905932737*rhoux_c[1]; + + jump_rhouy_l[0] = (-0.6123724356957944*rhouy_l[2])-0.6123724356957944*rhouy_c[2]-0.3535533905932737*rhouy_l[0]+0.3535533905932737*rhouy_c[0]; + jump_rhouy_l[1] = (-0.6123724356957944*rhouy_l[3])-0.6123724356957944*rhouy_c[3]-0.3535533905932737*rhouy_l[1]+0.3535533905932737*rhouy_c[1]; + + jump_rhouy_r[0] = (-0.6123724356957944*rhouy_r[2])-0.6123724356957944*rhouy_c[2]+0.3535533905932737*rhouy_r[0]-0.3535533905932737*rhouy_c[0]; + jump_rhouy_r[1] = (-0.6123724356957944*rhouy_r[3])-0.6123724356957944*rhouy_c[3]+0.3535533905932737*rhouy_r[1]-0.3535533905932737*rhouy_c[1]; + + jump_rhouz_l[0] = (-0.6123724356957944*rhouz_l[2])-0.6123724356957944*rhouz_c[2]-0.3535533905932737*rhouz_l[0]+0.3535533905932737*rhouz_c[0]; + jump_rhouz_l[1] = (-0.6123724356957944*rhouz_l[3])-0.6123724356957944*rhouz_c[3]-0.3535533905932737*rhouz_l[1]+0.3535533905932737*rhouz_c[1]; + + jump_rhouz_r[0] = (-0.6123724356957944*rhouz_r[2])-0.6123724356957944*rhouz_c[2]+0.3535533905932737*rhouz_r[0]-0.3535533905932737*rhouz_c[0]; + jump_rhouz_r[1] = (-0.6123724356957944*rhouz_r[3])-0.6123724356957944*rhouz_c[3]+0.3535533905932737*rhouz_r[1]-0.3535533905932737*rhouz_c[1]; + + double ul_r = 0.0; + double uc_l = 0.0; + double uc_r = 0.0; + double ur_l = 0.0; double uQuad_l = 0.0; double uQuad_r = 0.0; - double vth_sq_l_r = 0.0; - double vth_sq_c_l = 0.0; - double vth_sq_c_r = 0.0; - double vth_sq_r_l = 0.0; + + double vth_sql_r = 0.0; + double vth_sqc_l = 0.0; + double vth_sqc_r = 0.0; + double vth_sqr_l = 0.0; double vthQuad_l = 0.0; double vthQuad_r = 0.0; - double max_speed_l = 0.0; - double max_speed_r = 0.0; - double rhoux_l_r = 0.0; - double rhoux_c_l = 0.0; - double rhoux_c_r = 0.0; - double rhoux_r_l = 0.0; - double rhouy_l_r = 0.0; - double rhouy_c_l = 0.0; - double rhouy_c_r = 0.0; - double rhouy_r_l = 0.0; - double rhouz_l_r = 0.0; - double rhouz_c_l = 0.0; - double rhouz_c_r = 0.0; - double rhouz_r_l = 0.0; - - u_l_r = ser_2x_p1_surfx2_eval_quad_node_0_r(u_l); - u_c_l = ser_2x_p1_surfx2_eval_quad_node_0_l(u_c); - u_c_r = ser_2x_p1_surfx2_eval_quad_node_0_r(u_c); - u_r_l = ser_2x_p1_surfx2_eval_quad_node_0_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_2x_p1_surfx2_eval_quad_node_0_r(vth_sql); - vth_sq_c_l = ser_2x_p1_surfx2_eval_quad_node_0_l(vth_sqc); - vth_sq_c_r = ser_2x_p1_surfx2_eval_quad_node_0_r(vth_sqc); - vth_sq_r_l = ser_2x_p1_surfx2_eval_quad_node_0_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_2x_p1_surfx2_eval_quad_node_0_r(rhoux_l); - rhoux_c_l = ser_2x_p1_surfx2_eval_quad_node_0_l(rhoux_c); - rhoux_c_r = ser_2x_p1_surfx2_eval_quad_node_0_r(rhoux_c); - rhoux_r_l = ser_2x_p1_surfx2_eval_quad_node_0_l(rhoux_r); - rhouy_l_r = ser_2x_p1_surfx2_eval_quad_node_0_r(rhouy_l); - rhouy_c_l = ser_2x_p1_surfx2_eval_quad_node_0_l(rhouy_c); - rhouy_c_r = ser_2x_p1_surfx2_eval_quad_node_0_r(rhouy_c); - rhouy_r_l = ser_2x_p1_surfx2_eval_quad_node_0_l(rhouy_r); - rhouz_l_r = ser_2x_p1_surfx2_eval_quad_node_0_r(rhouz_l); - rhouz_c_l = ser_2x_p1_surfx2_eval_quad_node_0_l(rhouz_c); - rhouz_c_r = ser_2x_p1_surfx2_eval_quad_node_0_r(rhouz_c); - rhouz_r_l = ser_2x_p1_surfx2_eval_quad_node_0_l(rhouz_r); - lax_rhoux_quad_l[0] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[0] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[0] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[0] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[0] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[0] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_2x_p1_surfx2_eval_quad_node_1_r(u_l); - u_c_l = ser_2x_p1_surfx2_eval_quad_node_1_l(u_c); - u_c_r = ser_2x_p1_surfx2_eval_quad_node_1_r(u_c); - u_r_l = ser_2x_p1_surfx2_eval_quad_node_1_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_2x_p1_surfx2_eval_quad_node_1_r(vth_sql); - vth_sq_c_l = ser_2x_p1_surfx2_eval_quad_node_1_l(vth_sqc); - vth_sq_c_r = ser_2x_p1_surfx2_eval_quad_node_1_r(vth_sqc); - vth_sq_r_l = ser_2x_p1_surfx2_eval_quad_node_1_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_2x_p1_surfx2_eval_quad_node_1_r(rhoux_l); - rhoux_c_l = ser_2x_p1_surfx2_eval_quad_node_1_l(rhoux_c); - rhoux_c_r = ser_2x_p1_surfx2_eval_quad_node_1_r(rhoux_c); - rhoux_r_l = ser_2x_p1_surfx2_eval_quad_node_1_l(rhoux_r); - rhouy_l_r = ser_2x_p1_surfx2_eval_quad_node_1_r(rhouy_l); - rhouy_c_l = ser_2x_p1_surfx2_eval_quad_node_1_l(rhouy_c); - rhouy_c_r = ser_2x_p1_surfx2_eval_quad_node_1_r(rhouy_c); - rhouy_r_l = ser_2x_p1_surfx2_eval_quad_node_1_l(rhouy_r); - rhouz_l_r = ser_2x_p1_surfx2_eval_quad_node_1_r(rhouz_l); - rhouz_c_l = ser_2x_p1_surfx2_eval_quad_node_1_l(rhouz_c); - rhouz_c_r = ser_2x_p1_surfx2_eval_quad_node_1_r(rhouz_c); - rhouz_r_l = ser_2x_p1_surfx2_eval_quad_node_1_l(rhouz_r); - lax_rhoux_quad_l[1] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[1] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[1] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[1] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[1] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[1] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - // Project tensor nodal quadrature basis back onto modal basis. - ser_2x_p1_upwind_quad_to_modal(lax_rhoux_quad_l, lax_rhoux_modal_l); - ser_2x_p1_upwind_quad_to_modal(lax_rhoux_quad_r, lax_rhoux_modal_r); - ser_2x_p1_upwind_quad_to_modal(lax_rhouy_quad_l, lax_rhouy_modal_l); - ser_2x_p1_upwind_quad_to_modal(lax_rhouy_quad_r, lax_rhouy_modal_r); - ser_2x_p1_upwind_quad_to_modal(lax_rhouz_quad_l, lax_rhouz_modal_l); - ser_2x_p1_upwind_quad_to_modal(lax_rhouz_quad_r, lax_rhouz_modal_r); - - outrhou0[0] += 0.7071067811865475*lax_rhoux_modal_l[0]*dx1-0.7071067811865475*lax_rhoux_modal_r[0]*dx1; - outrhou0[1] += 0.7071067811865475*lax_rhoux_modal_l[1]*dx1-0.7071067811865475*lax_rhoux_modal_r[1]*dx1; - outrhou0[2] += (-1.224744871391589*lax_rhoux_modal_r[0]*dx1)-1.224744871391589*lax_rhoux_modal_l[0]*dx1; - outrhou0[3] += (-1.224744871391589*lax_rhoux_modal_r[1]*dx1)-1.224744871391589*lax_rhoux_modal_l[1]*dx1; - - outrhou1[0] += 0.7071067811865475*lax_rhouy_modal_l[0]*dx1-0.7071067811865475*lax_rhouy_modal_r[0]*dx1; - outrhou1[1] += 0.7071067811865475*lax_rhouy_modal_l[1]*dx1-0.7071067811865475*lax_rhouy_modal_r[1]*dx1; - outrhou1[2] += (-1.224744871391589*lax_rhouy_modal_r[0]*dx1)-1.224744871391589*lax_rhouy_modal_l[0]*dx1; - outrhou1[3] += (-1.224744871391589*lax_rhouy_modal_r[1]*dx1)-1.224744871391589*lax_rhouy_modal_l[1]*dx1; - - outrhou2[0] += 0.7071067811865475*lax_rhouz_modal_l[0]*dx1-0.7071067811865475*lax_rhouz_modal_r[0]*dx1; - outrhou2[1] += 0.7071067811865475*lax_rhouz_modal_l[1]*dx1-0.7071067811865475*lax_rhouz_modal_r[1]*dx1; - outrhou2[2] += (-1.224744871391589*lax_rhouz_modal_r[0]*dx1)-1.224744871391589*lax_rhouz_modal_l[0]*dx1; - outrhou2[3] += (-1.224744871391589*lax_rhouz_modal_r[1]*dx1)-1.224744871391589*lax_rhouz_modal_l[1]*dx1; + + ul_r = ser_2x_p1_surfx2_eval_quad_node_0_r(u_l); + uc_l = ser_2x_p1_surfx2_eval_quad_node_0_l(u_c); + uc_r = ser_2x_p1_surfx2_eval_quad_node_0_r(u_c); + ur_l = ser_2x_p1_surfx2_eval_quad_node_0_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_2x_p1_surfx2_eval_quad_node_0_r(vth_sql); + vth_sqc_l = ser_2x_p1_surfx2_eval_quad_node_0_l(vth_sqc); + vth_sqc_r = ser_2x_p1_surfx2_eval_quad_node_0_r(vth_sqc); + vth_sqr_l = ser_2x_p1_surfx2_eval_quad_node_0_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[0] = uQuad_l + vthQuad_l; + max_speed_quad_r[0] = uQuad_r + vthQuad_r; + ul_r = ser_2x_p1_surfx2_eval_quad_node_1_r(u_l); + uc_l = ser_2x_p1_surfx2_eval_quad_node_1_l(u_c); + uc_r = ser_2x_p1_surfx2_eval_quad_node_1_r(u_c); + ur_l = ser_2x_p1_surfx2_eval_quad_node_1_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_2x_p1_surfx2_eval_quad_node_1_r(vth_sql); + vth_sqc_l = ser_2x_p1_surfx2_eval_quad_node_1_l(vth_sqc); + vth_sqc_r = ser_2x_p1_surfx2_eval_quad_node_1_r(vth_sqc); + vth_sqr_l = ser_2x_p1_surfx2_eval_quad_node_1_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[1] = uQuad_l + vthQuad_l; + max_speed_quad_r[1] = uQuad_r + vthQuad_r; + ser_2x_p1_upwind_quad_to_modal(max_speed_quad_l, max_speed_modal_l); + ser_2x_p1_upwind_quad_to_modal(max_speed_quad_r, max_speed_modal_r); + outrhou0[0] += 0.5*jump_rhoux_r[1]*max_speed_modal_r[1]*dx1-0.5*jump_rhoux_l[1]*max_speed_modal_l[1]*dx1-0.5*avg_ux_r[1]*flux_rho_r[1]*dx1+0.5*avg_ux_l[1]*flux_rho_l[1]*dx1+0.5*jump_rhoux_r[0]*max_speed_modal_r[0]*dx1-0.5*jump_rhoux_l[0]*max_speed_modal_l[0]*dx1-0.5*avg_ux_r[0]*flux_rho_r[0]*dx1+0.5*avg_ux_l[0]*flux_rho_l[0]*dx1; + outrhou0[1] += 0.5*jump_rhoux_r[0]*max_speed_modal_r[1]*dx1-0.5*jump_rhoux_l[0]*max_speed_modal_l[1]*dx1+0.5*max_speed_modal_r[0]*jump_rhoux_r[1]*dx1-0.5*max_speed_modal_l[0]*jump_rhoux_l[1]*dx1-0.5*avg_ux_r[0]*flux_rho_r[1]*dx1+0.5*avg_ux_l[0]*flux_rho_l[1]*dx1-0.5*flux_rho_r[0]*avg_ux_r[1]*dx1+0.5*flux_rho_l[0]*avg_ux_l[1]*dx1; + outrhou0[2] += 0.8660254037844386*jump_rhoux_r[1]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhoux_l[1]*max_speed_modal_l[1]*dx1-0.8660254037844386*avg_ux_r[1]*flux_rho_r[1]*dx1-0.8660254037844386*avg_ux_l[1]*flux_rho_l[1]*dx1+0.8660254037844386*jump_rhoux_r[0]*max_speed_modal_r[0]*dx1+0.8660254037844386*jump_rhoux_l[0]*max_speed_modal_l[0]*dx1-0.8660254037844386*avg_ux_r[0]*flux_rho_r[0]*dx1-0.8660254037844386*avg_ux_l[0]*flux_rho_l[0]*dx1; + outrhou0[3] += 0.8660254037844386*jump_rhoux_r[0]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhoux_l[0]*max_speed_modal_l[1]*dx1+0.8660254037844386*max_speed_modal_r[0]*jump_rhoux_r[1]*dx1+0.8660254037844386*max_speed_modal_l[0]*jump_rhoux_l[1]*dx1-0.8660254037844386*avg_ux_r[0]*flux_rho_r[1]*dx1-0.8660254037844386*avg_ux_l[0]*flux_rho_l[1]*dx1-0.8660254037844386*flux_rho_r[0]*avg_ux_r[1]*dx1-0.8660254037844386*flux_rho_l[0]*avg_ux_l[1]*dx1; + + outrhou1[0] += 0.5*jump_rhouy_r[1]*max_speed_modal_r[1]*dx1-0.5*jump_rhouy_l[1]*max_speed_modal_l[1]*dx1-0.5*avg_uy_r[1]*flux_rho_r[1]*dx1+0.5*avg_uy_l[1]*flux_rho_l[1]*dx1+0.5*jump_rhouy_r[0]*max_speed_modal_r[0]*dx1-0.5*jump_rhouy_l[0]*max_speed_modal_l[0]*dx1-0.5*avg_uy_r[0]*flux_rho_r[0]*dx1+0.5*avg_uy_l[0]*flux_rho_l[0]*dx1; + outrhou1[1] += 0.5*jump_rhouy_r[0]*max_speed_modal_r[1]*dx1-0.5*jump_rhouy_l[0]*max_speed_modal_l[1]*dx1+0.5*max_speed_modal_r[0]*jump_rhouy_r[1]*dx1-0.5*max_speed_modal_l[0]*jump_rhouy_l[1]*dx1-0.5*avg_uy_r[0]*flux_rho_r[1]*dx1+0.5*avg_uy_l[0]*flux_rho_l[1]*dx1-0.5*flux_rho_r[0]*avg_uy_r[1]*dx1+0.5*flux_rho_l[0]*avg_uy_l[1]*dx1; + outrhou1[2] += 0.8660254037844386*jump_rhouy_r[1]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhouy_l[1]*max_speed_modal_l[1]*dx1-0.8660254037844386*avg_uy_r[1]*flux_rho_r[1]*dx1-0.8660254037844386*avg_uy_l[1]*flux_rho_l[1]*dx1+0.8660254037844386*jump_rhouy_r[0]*max_speed_modal_r[0]*dx1+0.8660254037844386*jump_rhouy_l[0]*max_speed_modal_l[0]*dx1-0.8660254037844386*avg_uy_r[0]*flux_rho_r[0]*dx1-0.8660254037844386*avg_uy_l[0]*flux_rho_l[0]*dx1; + outrhou1[3] += 0.8660254037844386*jump_rhouy_r[0]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhouy_l[0]*max_speed_modal_l[1]*dx1+0.8660254037844386*max_speed_modal_r[0]*jump_rhouy_r[1]*dx1+0.8660254037844386*max_speed_modal_l[0]*jump_rhouy_l[1]*dx1-0.8660254037844386*avg_uy_r[0]*flux_rho_r[1]*dx1-0.8660254037844386*avg_uy_l[0]*flux_rho_l[1]*dx1-0.8660254037844386*flux_rho_r[0]*avg_uy_r[1]*dx1-0.8660254037844386*flux_rho_l[0]*avg_uy_l[1]*dx1; + + outrhou2[0] += 0.5*jump_rhouz_r[1]*max_speed_modal_r[1]*dx1-0.5*jump_rhouz_l[1]*max_speed_modal_l[1]*dx1-0.5*avg_uz_r[1]*flux_rho_r[1]*dx1+0.5*avg_uz_l[1]*flux_rho_l[1]*dx1+0.5*jump_rhouz_r[0]*max_speed_modal_r[0]*dx1-0.5*jump_rhouz_l[0]*max_speed_modal_l[0]*dx1-0.5*avg_uz_r[0]*flux_rho_r[0]*dx1+0.5*avg_uz_l[0]*flux_rho_l[0]*dx1; + outrhou2[1] += 0.5*jump_rhouz_r[0]*max_speed_modal_r[1]*dx1-0.5*jump_rhouz_l[0]*max_speed_modal_l[1]*dx1+0.5*max_speed_modal_r[0]*jump_rhouz_r[1]*dx1-0.5*max_speed_modal_l[0]*jump_rhouz_l[1]*dx1-0.5*avg_uz_r[0]*flux_rho_r[1]*dx1+0.5*avg_uz_l[0]*flux_rho_l[1]*dx1-0.5*flux_rho_r[0]*avg_uz_r[1]*dx1+0.5*flux_rho_l[0]*avg_uz_l[1]*dx1; + outrhou2[2] += 0.8660254037844386*jump_rhouz_r[1]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhouz_l[1]*max_speed_modal_l[1]*dx1-0.8660254037844386*avg_uz_r[1]*flux_rho_r[1]*dx1-0.8660254037844386*avg_uz_l[1]*flux_rho_l[1]*dx1+0.8660254037844386*jump_rhouz_r[0]*max_speed_modal_r[0]*dx1+0.8660254037844386*jump_rhouz_l[0]*max_speed_modal_l[0]*dx1-0.8660254037844386*avg_uz_r[0]*flux_rho_r[0]*dx1-0.8660254037844386*avg_uz_l[0]*flux_rho_l[0]*dx1; + outrhou2[3] += 0.8660254037844386*jump_rhouz_r[0]*max_speed_modal_r[1]*dx1+0.8660254037844386*jump_rhouz_l[0]*max_speed_modal_l[1]*dx1+0.8660254037844386*max_speed_modal_r[0]*jump_rhouz_r[1]*dx1+0.8660254037844386*max_speed_modal_l[0]*jump_rhouz_l[1]*dx1-0.8660254037844386*avg_uz_r[0]*flux_rho_r[1]*dx1-0.8660254037844386*avg_uz_l[0]*flux_rho_l[1]*dx1-0.8660254037844386*flux_rho_r[0]*avg_uz_r[1]*dx1-0.8660254037844386*flux_rho_l[0]*avg_uz_l[1]*dx1; + + return 0.; } diff --git a/kernels/pkpm/euler_pkpm_surfy_3x_ser_p1.c b/kernels/pkpm/euler_pkpm_surfy_3x_ser_p1.c index 5ee1b9026..697237894 100644 --- a/kernels/pkpm/euler_pkpm_surfy_3x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_surfy_3x_ser_p1.c @@ -1,7 +1,8 @@ #include #include #include -GKYL_CU_DH void euler_pkpm_surfy_3x_ser_p1(const double *w, const double *dxv, +GKYL_CU_DH double euler_pkpm_surfy_3x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, const double *u_il, const double *u_ic, const double *u_ir, const double *T_ijl, const double *T_ijc, const double *T_ijr, const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out) @@ -27,6 +28,23 @@ GKYL_CU_DH void euler_pkpm_surfy_3x_ser_p1(const double *w, const double *dxv, const double *rhouy_r = &statevecr[8]; const double *rhouz_r = &statevecr[16]; + const double *rho_l = &vlasov_pkpm_momsl[0]; + const double *rho_c = &vlasov_pkpm_momsc[0]; + const double *rho_r = &vlasov_pkpm_momsr[0]; + + const double *ux_l = &u_il[0]; + const double *ux_c = &u_ic[0]; + const double *ux_r = &u_ir[0]; + + const double *uy_l = &u_il[8]; + const double *uy_c = &u_ic[8]; + const double *uy_r = &u_ir[8]; + + const double *uz_l = &u_il[16]; + const double *uz_c = &u_ic[16]; + const double *uz_r = &u_ir[16]; + + // Get another pointer for u in direction of update for ease of flux calculation. const double *u_l = &u_il[8]; const double *u_c = &u_ic[8]; const double *u_r = &u_ir[8]; @@ -40,211 +58,193 @@ GKYL_CU_DH void euler_pkpm_surfy_3x_ser_p1(const double *w, const double *dxv, double *outrhou1 = &out[8]; double *outrhou2 = &out[16]; - double lax_rhoux_quad_l[4] = {0.0}; - double lax_rhoux_quad_r[4] = {0.0}; - double lax_rhoux_modal_l[4] = {0.0}; - double lax_rhoux_modal_r[4] = {0.0}; - double lax_rhouy_quad_l[4] = {0.0}; - double lax_rhouy_quad_r[4] = {0.0}; - double lax_rhouy_modal_l[4] = {0.0}; - double lax_rhouy_modal_r[4] = {0.0}; - double lax_rhouz_quad_l[4] = {0.0}; - double lax_rhouz_quad_r[4] = {0.0}; - double lax_rhouz_modal_l[4] = {0.0}; - double lax_rhouz_modal_r[4] = {0.0}; - - double u_l_r = 0.0; - double u_c_l = 0.0; - double u_c_r = 0.0; - double u_r_l = 0.0; + double flux_rho_l[4] = {0.0}; + double flux_rho_r[4] = {0.0}; + double avg_ux_l[4] = {0.0}; + double avg_ux_r[4] = {0.0}; + double avg_uy_l[4] = {0.0}; + double avg_uy_r[4] = {0.0}; + double avg_uz_l[4] = {0.0}; + double avg_uz_r[4] = {0.0}; + double jump_rhoux_l[4] = {0.0}; + double jump_rhoux_r[4] = {0.0}; + double jump_rhouy_l[4] = {0.0}; + double jump_rhouy_r[4] = {0.0}; + double jump_rhouz_l[4] = {0.0}; + double jump_rhouz_r[4] = {0.0}; + double max_speed_quad_l[4] = {0.0}; + double max_speed_quad_r[4] = {0.0}; + double max_speed_modal_l[4] = {0.0}; + double max_speed_modal_r[4] = {0.0}; + flux_rho_l[0] = 0.1875*rho_l[7]*u_l[7]-0.1875*rho_c[7]*u_l[7]+0.1082531754730548*rho_l[5]*u_l[7]+0.1082531754730548*rho_c[5]*u_l[7]-0.1875*rho_l[7]*u_c[7]+0.1875*rho_c[7]*u_c[7]-0.1082531754730548*rho_l[5]*u_c[7]-0.1082531754730548*rho_c[5]*u_c[7]+0.1082531754730548*u_l[5]*rho_l[7]+0.1082531754730548*u_c[5]*rho_l[7]-0.1082531754730548*u_l[5]*rho_c[7]-0.1082531754730548*u_c[5]*rho_c[7]+0.1875*rho_l[6]*u_l[6]-0.1875*rho_c[6]*u_l[6]+0.1082531754730548*rho_l[3]*u_l[6]+0.1082531754730548*rho_c[3]*u_l[6]-0.1875*rho_l[6]*u_c[6]+0.1875*rho_c[6]*u_c[6]-0.1082531754730548*rho_l[3]*u_c[6]-0.1082531754730548*rho_c[3]*u_c[6]+0.1082531754730548*u_l[3]*rho_l[6]+0.1082531754730548*u_c[3]*rho_l[6]-0.1082531754730548*u_l[3]*rho_c[6]-0.1082531754730548*u_c[3]*rho_c[6]+0.0625*rho_l[5]*u_l[5]+0.0625*rho_c[5]*u_l[5]+0.0625*rho_l[5]*u_c[5]+0.0625*rho_c[5]*u_c[5]+0.1875*rho_l[4]*u_l[4]-0.1875*rho_c[4]*u_l[4]+0.1082531754730548*rho_l[1]*u_l[4]+0.1082531754730548*rho_c[1]*u_l[4]-0.1875*rho_l[4]*u_c[4]+0.1875*rho_c[4]*u_c[4]-0.1082531754730548*rho_l[1]*u_c[4]-0.1082531754730548*rho_c[1]*u_c[4]+0.1082531754730548*u_l[1]*rho_l[4]+0.1082531754730548*u_c[1]*rho_l[4]-0.1082531754730548*u_l[1]*rho_c[4]-0.1082531754730548*u_c[1]*rho_c[4]+0.0625*rho_l[3]*u_l[3]+0.0625*rho_c[3]*u_l[3]+0.0625*rho_l[3]*u_c[3]+0.0625*rho_c[3]*u_c[3]+0.1875*rho_l[2]*u_l[2]-0.1875*rho_c[2]*u_l[2]+0.1082531754730548*rho_l[0]*u_l[2]+0.1082531754730548*rho_c[0]*u_l[2]-0.1875*rho_l[2]*u_c[2]+0.1875*rho_c[2]*u_c[2]-0.1082531754730548*rho_l[0]*u_c[2]-0.1082531754730548*rho_c[0]*u_c[2]+0.1082531754730548*u_l[0]*rho_l[2]+0.1082531754730548*u_c[0]*rho_l[2]-0.1082531754730548*u_l[0]*rho_c[2]-0.1082531754730548*u_c[0]*rho_c[2]+0.0625*rho_l[1]*u_l[1]+0.0625*rho_c[1]*u_l[1]+0.0625*rho_l[1]*u_c[1]+0.0625*rho_c[1]*u_c[1]+0.0625*rho_l[0]*u_l[0]+0.0625*rho_c[0]*u_l[0]+0.0625*rho_l[0]*u_c[0]+0.0625*rho_c[0]*u_c[0]; + flux_rho_l[1] = 0.1875*rho_l[6]*u_l[7]-0.1875*rho_c[6]*u_l[7]+0.1082531754730548*rho_l[3]*u_l[7]+0.1082531754730548*rho_c[3]*u_l[7]-0.1875*rho_l[6]*u_c[7]+0.1875*rho_c[6]*u_c[7]-0.1082531754730548*rho_l[3]*u_c[7]-0.1082531754730548*rho_c[3]*u_c[7]+0.1875*u_l[6]*rho_l[7]-0.1875*u_c[6]*rho_l[7]+0.1082531754730548*u_l[3]*rho_l[7]+0.1082531754730548*u_c[3]*rho_l[7]-0.1875*u_l[6]*rho_c[7]+0.1875*u_c[6]*rho_c[7]-0.1082531754730548*u_l[3]*rho_c[7]-0.1082531754730548*u_c[3]*rho_c[7]+0.1082531754730548*rho_l[5]*u_l[6]+0.1082531754730548*rho_c[5]*u_l[6]-0.1082531754730548*rho_l[5]*u_c[6]-0.1082531754730548*rho_c[5]*u_c[6]+0.1082531754730548*u_l[5]*rho_l[6]+0.1082531754730548*u_c[5]*rho_l[6]-0.1082531754730548*u_l[5]*rho_c[6]-0.1082531754730548*u_c[5]*rho_c[6]+0.0625*rho_l[3]*u_l[5]+0.0625*rho_c[3]*u_l[5]+0.0625*rho_l[3]*u_c[5]+0.0625*rho_c[3]*u_c[5]+0.0625*u_l[3]*rho_l[5]+0.0625*u_c[3]*rho_l[5]+0.0625*u_l[3]*rho_c[5]+0.0625*u_c[3]*rho_c[5]+0.1875*rho_l[2]*u_l[4]-0.1875*rho_c[2]*u_l[4]+0.1082531754730548*rho_l[0]*u_l[4]+0.1082531754730548*rho_c[0]*u_l[4]-0.1875*rho_l[2]*u_c[4]+0.1875*rho_c[2]*u_c[4]-0.1082531754730548*rho_l[0]*u_c[4]-0.1082531754730548*rho_c[0]*u_c[4]+0.1875*u_l[2]*rho_l[4]-0.1875*u_c[2]*rho_l[4]+0.1082531754730548*u_l[0]*rho_l[4]+0.1082531754730548*u_c[0]*rho_l[4]-0.1875*u_l[2]*rho_c[4]+0.1875*u_c[2]*rho_c[4]-0.1082531754730548*u_l[0]*rho_c[4]-0.1082531754730548*u_c[0]*rho_c[4]+0.1082531754730548*rho_l[1]*u_l[2]+0.1082531754730548*rho_c[1]*u_l[2]-0.1082531754730548*rho_l[1]*u_c[2]-0.1082531754730548*rho_c[1]*u_c[2]+0.1082531754730548*u_l[1]*rho_l[2]+0.1082531754730548*u_c[1]*rho_l[2]-0.1082531754730548*u_l[1]*rho_c[2]-0.1082531754730548*u_c[1]*rho_c[2]+0.0625*rho_l[0]*u_l[1]+0.0625*rho_c[0]*u_l[1]+0.0625*rho_l[0]*u_c[1]+0.0625*rho_c[0]*u_c[1]+0.0625*u_l[0]*rho_l[1]+0.0625*u_c[0]*rho_l[1]+0.0625*u_l[0]*rho_c[1]+0.0625*u_c[0]*rho_c[1]; + flux_rho_l[2] = 0.1875*rho_l[4]*u_l[7]-0.1875*rho_c[4]*u_l[7]+0.1082531754730548*rho_l[1]*u_l[7]+0.1082531754730548*rho_c[1]*u_l[7]-0.1875*rho_l[4]*u_c[7]+0.1875*rho_c[4]*u_c[7]-0.1082531754730548*rho_l[1]*u_c[7]-0.1082531754730548*rho_c[1]*u_c[7]+0.1875*u_l[4]*rho_l[7]-0.1875*u_c[4]*rho_l[7]+0.1082531754730548*u_l[1]*rho_l[7]+0.1082531754730548*u_c[1]*rho_l[7]-0.1875*u_l[4]*rho_c[7]+0.1875*u_c[4]*rho_c[7]-0.1082531754730548*u_l[1]*rho_c[7]-0.1082531754730548*u_c[1]*rho_c[7]+0.1875*rho_l[2]*u_l[6]-0.1875*rho_c[2]*u_l[6]+0.1082531754730548*rho_l[0]*u_l[6]+0.1082531754730548*rho_c[0]*u_l[6]-0.1875*rho_l[2]*u_c[6]+0.1875*rho_c[2]*u_c[6]-0.1082531754730548*rho_l[0]*u_c[6]-0.1082531754730548*rho_c[0]*u_c[6]+0.1875*u_l[2]*rho_l[6]-0.1875*u_c[2]*rho_l[6]+0.1082531754730548*u_l[0]*rho_l[6]+0.1082531754730548*u_c[0]*rho_l[6]-0.1875*u_l[2]*rho_c[6]+0.1875*u_c[2]*rho_c[6]-0.1082531754730548*u_l[0]*rho_c[6]-0.1082531754730548*u_c[0]*rho_c[6]+0.1082531754730548*rho_l[4]*u_l[5]-0.1082531754730548*rho_c[4]*u_l[5]+0.0625*rho_l[1]*u_l[5]+0.0625*rho_c[1]*u_l[5]+0.1082531754730548*rho_l[4]*u_c[5]-0.1082531754730548*rho_c[4]*u_c[5]+0.0625*rho_l[1]*u_c[5]+0.0625*rho_c[1]*u_c[5]+0.1082531754730548*u_l[4]*rho_l[5]-0.1082531754730548*u_c[4]*rho_l[5]+0.0625*u_l[1]*rho_l[5]+0.0625*u_c[1]*rho_l[5]+0.1082531754730548*u_l[4]*rho_c[5]-0.1082531754730548*u_c[4]*rho_c[5]+0.0625*u_l[1]*rho_c[5]+0.0625*u_c[1]*rho_c[5]+0.1082531754730548*rho_l[2]*u_l[3]-0.1082531754730548*rho_c[2]*u_l[3]+0.0625*rho_l[0]*u_l[3]+0.0625*rho_c[0]*u_l[3]+0.1082531754730548*rho_l[2]*u_c[3]-0.1082531754730548*rho_c[2]*u_c[3]+0.0625*rho_l[0]*u_c[3]+0.0625*rho_c[0]*u_c[3]+0.1082531754730548*u_l[2]*rho_l[3]-0.1082531754730548*u_c[2]*rho_l[3]+0.0625*u_l[0]*rho_l[3]+0.0625*u_c[0]*rho_l[3]+0.1082531754730548*u_l[2]*rho_c[3]-0.1082531754730548*u_c[2]*rho_c[3]+0.0625*u_l[0]*rho_c[3]+0.0625*u_c[0]*rho_c[3]; + flux_rho_l[3] = 0.1875*rho_l[2]*u_l[7]-0.1875*rho_c[2]*u_l[7]+0.1082531754730548*rho_l[0]*u_l[7]+0.1082531754730548*rho_c[0]*u_l[7]-0.1875*rho_l[2]*u_c[7]+0.1875*rho_c[2]*u_c[7]-0.1082531754730548*rho_l[0]*u_c[7]-0.1082531754730548*rho_c[0]*u_c[7]+0.1875*u_l[2]*rho_l[7]-0.1875*u_c[2]*rho_l[7]+0.1082531754730548*u_l[0]*rho_l[7]+0.1082531754730548*u_c[0]*rho_l[7]-0.1875*u_l[2]*rho_c[7]+0.1875*u_c[2]*rho_c[7]-0.1082531754730548*u_l[0]*rho_c[7]-0.1082531754730548*u_c[0]*rho_c[7]+0.1875*rho_l[4]*u_l[6]-0.1875*rho_c[4]*u_l[6]+0.1082531754730548*rho_l[1]*u_l[6]+0.1082531754730548*rho_c[1]*u_l[6]-0.1875*rho_l[4]*u_c[6]+0.1875*rho_c[4]*u_c[6]-0.1082531754730548*rho_l[1]*u_c[6]-0.1082531754730548*rho_c[1]*u_c[6]+0.1875*u_l[4]*rho_l[6]-0.1875*u_c[4]*rho_l[6]+0.1082531754730548*u_l[1]*rho_l[6]+0.1082531754730548*u_c[1]*rho_l[6]-0.1875*u_l[4]*rho_c[6]+0.1875*u_c[4]*rho_c[6]-0.1082531754730548*u_l[1]*rho_c[6]-0.1082531754730548*u_c[1]*rho_c[6]+0.1082531754730548*rho_l[2]*u_l[5]-0.1082531754730548*rho_c[2]*u_l[5]+0.0625*rho_l[0]*u_l[5]+0.0625*rho_c[0]*u_l[5]+0.1082531754730548*rho_l[2]*u_c[5]-0.1082531754730548*rho_c[2]*u_c[5]+0.0625*rho_l[0]*u_c[5]+0.0625*rho_c[0]*u_c[5]+0.1082531754730548*u_l[2]*rho_l[5]-0.1082531754730548*u_c[2]*rho_l[5]+0.0625*u_l[0]*rho_l[5]+0.0625*u_c[0]*rho_l[5]+0.1082531754730548*u_l[2]*rho_c[5]-0.1082531754730548*u_c[2]*rho_c[5]+0.0625*u_l[0]*rho_c[5]+0.0625*u_c[0]*rho_c[5]+0.1082531754730548*rho_l[3]*u_l[4]+0.1082531754730548*rho_c[3]*u_l[4]-0.1082531754730548*rho_l[3]*u_c[4]-0.1082531754730548*rho_c[3]*u_c[4]+0.1082531754730548*u_l[3]*rho_l[4]+0.1082531754730548*u_c[3]*rho_l[4]-0.1082531754730548*u_l[3]*rho_c[4]-0.1082531754730548*u_c[3]*rho_c[4]+0.0625*rho_l[1]*u_l[3]+0.0625*rho_c[1]*u_l[3]+0.0625*rho_l[1]*u_c[3]+0.0625*rho_c[1]*u_c[3]+0.0625*u_l[1]*rho_l[3]+0.0625*u_c[1]*rho_l[3]+0.0625*u_l[1]*rho_c[3]+0.0625*u_c[1]*rho_c[3]; + + flux_rho_r[0] = 0.1875*rho_r[7]*u_r[7]-0.1875*rho_c[7]*u_r[7]-0.1082531754730548*rho_r[5]*u_r[7]-0.1082531754730548*rho_c[5]*u_r[7]-0.1875*rho_r[7]*u_c[7]+0.1875*rho_c[7]*u_c[7]+0.1082531754730548*rho_r[5]*u_c[7]+0.1082531754730548*rho_c[5]*u_c[7]-0.1082531754730548*u_r[5]*rho_r[7]-0.1082531754730548*u_c[5]*rho_r[7]+0.1082531754730548*u_r[5]*rho_c[7]+0.1082531754730548*u_c[5]*rho_c[7]+0.1875*rho_r[6]*u_r[6]-0.1875*rho_c[6]*u_r[6]-0.1082531754730548*rho_r[3]*u_r[6]-0.1082531754730548*rho_c[3]*u_r[6]-0.1875*rho_r[6]*u_c[6]+0.1875*rho_c[6]*u_c[6]+0.1082531754730548*rho_r[3]*u_c[6]+0.1082531754730548*rho_c[3]*u_c[6]-0.1082531754730548*u_r[3]*rho_r[6]-0.1082531754730548*u_c[3]*rho_r[6]+0.1082531754730548*u_r[3]*rho_c[6]+0.1082531754730548*u_c[3]*rho_c[6]+0.0625*rho_r[5]*u_r[5]+0.0625*rho_c[5]*u_r[5]+0.0625*rho_r[5]*u_c[5]+0.0625*rho_c[5]*u_c[5]+0.1875*rho_r[4]*u_r[4]-0.1875*rho_c[4]*u_r[4]-0.1082531754730548*rho_r[1]*u_r[4]-0.1082531754730548*rho_c[1]*u_r[4]-0.1875*rho_r[4]*u_c[4]+0.1875*rho_c[4]*u_c[4]+0.1082531754730548*rho_r[1]*u_c[4]+0.1082531754730548*rho_c[1]*u_c[4]-0.1082531754730548*u_r[1]*rho_r[4]-0.1082531754730548*u_c[1]*rho_r[4]+0.1082531754730548*u_r[1]*rho_c[4]+0.1082531754730548*u_c[1]*rho_c[4]+0.0625*rho_r[3]*u_r[3]+0.0625*rho_c[3]*u_r[3]+0.0625*rho_r[3]*u_c[3]+0.0625*rho_c[3]*u_c[3]+0.1875*rho_r[2]*u_r[2]-0.1875*rho_c[2]*u_r[2]-0.1082531754730548*rho_r[0]*u_r[2]-0.1082531754730548*rho_c[0]*u_r[2]-0.1875*rho_r[2]*u_c[2]+0.1875*rho_c[2]*u_c[2]+0.1082531754730548*rho_r[0]*u_c[2]+0.1082531754730548*rho_c[0]*u_c[2]-0.1082531754730548*u_r[0]*rho_r[2]-0.1082531754730548*u_c[0]*rho_r[2]+0.1082531754730548*u_r[0]*rho_c[2]+0.1082531754730548*u_c[0]*rho_c[2]+0.0625*rho_r[1]*u_r[1]+0.0625*rho_c[1]*u_r[1]+0.0625*rho_r[1]*u_c[1]+0.0625*rho_c[1]*u_c[1]+0.0625*rho_r[0]*u_r[0]+0.0625*rho_c[0]*u_r[0]+0.0625*rho_r[0]*u_c[0]+0.0625*rho_c[0]*u_c[0]; + flux_rho_r[1] = 0.1875*rho_r[6]*u_r[7]-0.1875*rho_c[6]*u_r[7]-0.1082531754730548*rho_r[3]*u_r[7]-0.1082531754730548*rho_c[3]*u_r[7]-0.1875*rho_r[6]*u_c[7]+0.1875*rho_c[6]*u_c[7]+0.1082531754730548*rho_r[3]*u_c[7]+0.1082531754730548*rho_c[3]*u_c[7]+0.1875*u_r[6]*rho_r[7]-0.1875*u_c[6]*rho_r[7]-0.1082531754730548*u_r[3]*rho_r[7]-0.1082531754730548*u_c[3]*rho_r[7]-0.1875*u_r[6]*rho_c[7]+0.1875*u_c[6]*rho_c[7]+0.1082531754730548*u_r[3]*rho_c[7]+0.1082531754730548*u_c[3]*rho_c[7]-0.1082531754730548*rho_r[5]*u_r[6]-0.1082531754730548*rho_c[5]*u_r[6]+0.1082531754730548*rho_r[5]*u_c[6]+0.1082531754730548*rho_c[5]*u_c[6]-0.1082531754730548*u_r[5]*rho_r[6]-0.1082531754730548*u_c[5]*rho_r[6]+0.1082531754730548*u_r[5]*rho_c[6]+0.1082531754730548*u_c[5]*rho_c[6]+0.0625*rho_r[3]*u_r[5]+0.0625*rho_c[3]*u_r[5]+0.0625*rho_r[3]*u_c[5]+0.0625*rho_c[3]*u_c[5]+0.0625*u_r[3]*rho_r[5]+0.0625*u_c[3]*rho_r[5]+0.0625*u_r[3]*rho_c[5]+0.0625*u_c[3]*rho_c[5]+0.1875*rho_r[2]*u_r[4]-0.1875*rho_c[2]*u_r[4]-0.1082531754730548*rho_r[0]*u_r[4]-0.1082531754730548*rho_c[0]*u_r[4]-0.1875*rho_r[2]*u_c[4]+0.1875*rho_c[2]*u_c[4]+0.1082531754730548*rho_r[0]*u_c[4]+0.1082531754730548*rho_c[0]*u_c[4]+0.1875*u_r[2]*rho_r[4]-0.1875*u_c[2]*rho_r[4]-0.1082531754730548*u_r[0]*rho_r[4]-0.1082531754730548*u_c[0]*rho_r[4]-0.1875*u_r[2]*rho_c[4]+0.1875*u_c[2]*rho_c[4]+0.1082531754730548*u_r[0]*rho_c[4]+0.1082531754730548*u_c[0]*rho_c[4]-0.1082531754730548*rho_r[1]*u_r[2]-0.1082531754730548*rho_c[1]*u_r[2]+0.1082531754730548*rho_r[1]*u_c[2]+0.1082531754730548*rho_c[1]*u_c[2]-0.1082531754730548*u_r[1]*rho_r[2]-0.1082531754730548*u_c[1]*rho_r[2]+0.1082531754730548*u_r[1]*rho_c[2]+0.1082531754730548*u_c[1]*rho_c[2]+0.0625*rho_r[0]*u_r[1]+0.0625*rho_c[0]*u_r[1]+0.0625*rho_r[0]*u_c[1]+0.0625*rho_c[0]*u_c[1]+0.0625*u_r[0]*rho_r[1]+0.0625*u_c[0]*rho_r[1]+0.0625*u_r[0]*rho_c[1]+0.0625*u_c[0]*rho_c[1]; + flux_rho_r[2] = 0.1875*rho_r[4]*u_r[7]-0.1875*rho_c[4]*u_r[7]-0.1082531754730548*rho_r[1]*u_r[7]-0.1082531754730548*rho_c[1]*u_r[7]-0.1875*rho_r[4]*u_c[7]+0.1875*rho_c[4]*u_c[7]+0.1082531754730548*rho_r[1]*u_c[7]+0.1082531754730548*rho_c[1]*u_c[7]+0.1875*u_r[4]*rho_r[7]-0.1875*u_c[4]*rho_r[7]-0.1082531754730548*u_r[1]*rho_r[7]-0.1082531754730548*u_c[1]*rho_r[7]-0.1875*u_r[4]*rho_c[7]+0.1875*u_c[4]*rho_c[7]+0.1082531754730548*u_r[1]*rho_c[7]+0.1082531754730548*u_c[1]*rho_c[7]+0.1875*rho_r[2]*u_r[6]-0.1875*rho_c[2]*u_r[6]-0.1082531754730548*rho_r[0]*u_r[6]-0.1082531754730548*rho_c[0]*u_r[6]-0.1875*rho_r[2]*u_c[6]+0.1875*rho_c[2]*u_c[6]+0.1082531754730548*rho_r[0]*u_c[6]+0.1082531754730548*rho_c[0]*u_c[6]+0.1875*u_r[2]*rho_r[6]-0.1875*u_c[2]*rho_r[6]-0.1082531754730548*u_r[0]*rho_r[6]-0.1082531754730548*u_c[0]*rho_r[6]-0.1875*u_r[2]*rho_c[6]+0.1875*u_c[2]*rho_c[6]+0.1082531754730548*u_r[0]*rho_c[6]+0.1082531754730548*u_c[0]*rho_c[6]-0.1082531754730548*rho_r[4]*u_r[5]+0.1082531754730548*rho_c[4]*u_r[5]+0.0625*rho_r[1]*u_r[5]+0.0625*rho_c[1]*u_r[5]-0.1082531754730548*rho_r[4]*u_c[5]+0.1082531754730548*rho_c[4]*u_c[5]+0.0625*rho_r[1]*u_c[5]+0.0625*rho_c[1]*u_c[5]-0.1082531754730548*u_r[4]*rho_r[5]+0.1082531754730548*u_c[4]*rho_r[5]+0.0625*u_r[1]*rho_r[5]+0.0625*u_c[1]*rho_r[5]-0.1082531754730548*u_r[4]*rho_c[5]+0.1082531754730548*u_c[4]*rho_c[5]+0.0625*u_r[1]*rho_c[5]+0.0625*u_c[1]*rho_c[5]-0.1082531754730548*rho_r[2]*u_r[3]+0.1082531754730548*rho_c[2]*u_r[3]+0.0625*rho_r[0]*u_r[3]+0.0625*rho_c[0]*u_r[3]-0.1082531754730548*rho_r[2]*u_c[3]+0.1082531754730548*rho_c[2]*u_c[3]+0.0625*rho_r[0]*u_c[3]+0.0625*rho_c[0]*u_c[3]-0.1082531754730548*u_r[2]*rho_r[3]+0.1082531754730548*u_c[2]*rho_r[3]+0.0625*u_r[0]*rho_r[3]+0.0625*u_c[0]*rho_r[3]-0.1082531754730548*u_r[2]*rho_c[3]+0.1082531754730548*u_c[2]*rho_c[3]+0.0625*u_r[0]*rho_c[3]+0.0625*u_c[0]*rho_c[3]; + flux_rho_r[3] = 0.1875*rho_r[2]*u_r[7]-0.1875*rho_c[2]*u_r[7]-0.1082531754730548*rho_r[0]*u_r[7]-0.1082531754730548*rho_c[0]*u_r[7]-0.1875*rho_r[2]*u_c[7]+0.1875*rho_c[2]*u_c[7]+0.1082531754730548*rho_r[0]*u_c[7]+0.1082531754730548*rho_c[0]*u_c[7]+0.1875*u_r[2]*rho_r[7]-0.1875*u_c[2]*rho_r[7]-0.1082531754730548*u_r[0]*rho_r[7]-0.1082531754730548*u_c[0]*rho_r[7]-0.1875*u_r[2]*rho_c[7]+0.1875*u_c[2]*rho_c[7]+0.1082531754730548*u_r[0]*rho_c[7]+0.1082531754730548*u_c[0]*rho_c[7]+0.1875*rho_r[4]*u_r[6]-0.1875*rho_c[4]*u_r[6]-0.1082531754730548*rho_r[1]*u_r[6]-0.1082531754730548*rho_c[1]*u_r[6]-0.1875*rho_r[4]*u_c[6]+0.1875*rho_c[4]*u_c[6]+0.1082531754730548*rho_r[1]*u_c[6]+0.1082531754730548*rho_c[1]*u_c[6]+0.1875*u_r[4]*rho_r[6]-0.1875*u_c[4]*rho_r[6]-0.1082531754730548*u_r[1]*rho_r[6]-0.1082531754730548*u_c[1]*rho_r[6]-0.1875*u_r[4]*rho_c[6]+0.1875*u_c[4]*rho_c[6]+0.1082531754730548*u_r[1]*rho_c[6]+0.1082531754730548*u_c[1]*rho_c[6]-0.1082531754730548*rho_r[2]*u_r[5]+0.1082531754730548*rho_c[2]*u_r[5]+0.0625*rho_r[0]*u_r[5]+0.0625*rho_c[0]*u_r[5]-0.1082531754730548*rho_r[2]*u_c[5]+0.1082531754730548*rho_c[2]*u_c[5]+0.0625*rho_r[0]*u_c[5]+0.0625*rho_c[0]*u_c[5]-0.1082531754730548*u_r[2]*rho_r[5]+0.1082531754730548*u_c[2]*rho_r[5]+0.0625*u_r[0]*rho_r[5]+0.0625*u_c[0]*rho_r[5]-0.1082531754730548*u_r[2]*rho_c[5]+0.1082531754730548*u_c[2]*rho_c[5]+0.0625*u_r[0]*rho_c[5]+0.0625*u_c[0]*rho_c[5]-0.1082531754730548*rho_r[3]*u_r[4]-0.1082531754730548*rho_c[3]*u_r[4]+0.1082531754730548*rho_r[3]*u_c[4]+0.1082531754730548*rho_c[3]*u_c[4]-0.1082531754730548*u_r[3]*rho_r[4]-0.1082531754730548*u_c[3]*rho_r[4]+0.1082531754730548*u_r[3]*rho_c[4]+0.1082531754730548*u_c[3]*rho_c[4]+0.0625*rho_r[1]*u_r[3]+0.0625*rho_c[1]*u_r[3]+0.0625*rho_r[1]*u_c[3]+0.0625*rho_c[1]*u_c[3]+0.0625*u_r[1]*rho_r[3]+0.0625*u_c[1]*rho_r[3]+0.0625*u_r[1]*rho_c[3]+0.0625*u_c[1]*rho_c[3]; + + avg_ux_l[0] = 0.6123724356957944*ux_l[2]-0.6123724356957944*ux_c[2]+0.3535533905932737*ux_l[0]+0.3535533905932737*ux_c[0]; + avg_ux_l[1] = 0.6123724356957944*ux_l[4]-0.6123724356957944*ux_c[4]+0.3535533905932737*ux_l[1]+0.3535533905932737*ux_c[1]; + avg_ux_l[2] = 0.6123724356957944*ux_l[6]-0.6123724356957944*ux_c[6]+0.3535533905932737*ux_l[3]+0.3535533905932737*ux_c[3]; + avg_ux_l[3] = 0.6123724356957944*ux_l[7]-0.6123724356957944*ux_c[7]+0.3535533905932737*ux_l[5]+0.3535533905932737*ux_c[5]; + + avg_ux_r[0] = (-0.6123724356957944*ux_r[2])+0.6123724356957944*ux_c[2]+0.3535533905932737*ux_r[0]+0.3535533905932737*ux_c[0]; + avg_ux_r[1] = (-0.6123724356957944*ux_r[4])+0.6123724356957944*ux_c[4]+0.3535533905932737*ux_r[1]+0.3535533905932737*ux_c[1]; + avg_ux_r[2] = (-0.6123724356957944*ux_r[6])+0.6123724356957944*ux_c[6]+0.3535533905932737*ux_r[3]+0.3535533905932737*ux_c[3]; + avg_ux_r[3] = (-0.6123724356957944*ux_r[7])+0.6123724356957944*ux_c[7]+0.3535533905932737*ux_r[5]+0.3535533905932737*ux_c[5]; + + avg_uy_l[0] = 0.6123724356957944*uy_l[2]-0.6123724356957944*uy_c[2]+0.3535533905932737*uy_l[0]+0.3535533905932737*uy_c[0]; + avg_uy_l[1] = 0.6123724356957944*uy_l[4]-0.6123724356957944*uy_c[4]+0.3535533905932737*uy_l[1]+0.3535533905932737*uy_c[1]; + avg_uy_l[2] = 0.6123724356957944*uy_l[6]-0.6123724356957944*uy_c[6]+0.3535533905932737*uy_l[3]+0.3535533905932737*uy_c[3]; + avg_uy_l[3] = 0.6123724356957944*uy_l[7]-0.6123724356957944*uy_c[7]+0.3535533905932737*uy_l[5]+0.3535533905932737*uy_c[5]; + + avg_uy_r[0] = (-0.6123724356957944*uy_r[2])+0.6123724356957944*uy_c[2]+0.3535533905932737*uy_r[0]+0.3535533905932737*uy_c[0]; + avg_uy_r[1] = (-0.6123724356957944*uy_r[4])+0.6123724356957944*uy_c[4]+0.3535533905932737*uy_r[1]+0.3535533905932737*uy_c[1]; + avg_uy_r[2] = (-0.6123724356957944*uy_r[6])+0.6123724356957944*uy_c[6]+0.3535533905932737*uy_r[3]+0.3535533905932737*uy_c[3]; + avg_uy_r[3] = (-0.6123724356957944*uy_r[7])+0.6123724356957944*uy_c[7]+0.3535533905932737*uy_r[5]+0.3535533905932737*uy_c[5]; + + avg_uz_l[0] = 0.6123724356957944*uz_l[2]-0.6123724356957944*uz_c[2]+0.3535533905932737*uz_l[0]+0.3535533905932737*uz_c[0]; + avg_uz_l[1] = 0.6123724356957944*uz_l[4]-0.6123724356957944*uz_c[4]+0.3535533905932737*uz_l[1]+0.3535533905932737*uz_c[1]; + avg_uz_l[2] = 0.6123724356957944*uz_l[6]-0.6123724356957944*uz_c[6]+0.3535533905932737*uz_l[3]+0.3535533905932737*uz_c[3]; + avg_uz_l[3] = 0.6123724356957944*uz_l[7]-0.6123724356957944*uz_c[7]+0.3535533905932737*uz_l[5]+0.3535533905932737*uz_c[5]; + + avg_uz_r[0] = (-0.6123724356957944*uz_r[2])+0.6123724356957944*uz_c[2]+0.3535533905932737*uz_r[0]+0.3535533905932737*uz_c[0]; + avg_uz_r[1] = (-0.6123724356957944*uz_r[4])+0.6123724356957944*uz_c[4]+0.3535533905932737*uz_r[1]+0.3535533905932737*uz_c[1]; + avg_uz_r[2] = (-0.6123724356957944*uz_r[6])+0.6123724356957944*uz_c[6]+0.3535533905932737*uz_r[3]+0.3535533905932737*uz_c[3]; + avg_uz_r[3] = (-0.6123724356957944*uz_r[7])+0.6123724356957944*uz_c[7]+0.3535533905932737*uz_r[5]+0.3535533905932737*uz_c[5]; + + jump_rhoux_l[0] = (-0.6123724356957944*rhoux_l[2])-0.6123724356957944*rhoux_c[2]-0.3535533905932737*rhoux_l[0]+0.3535533905932737*rhoux_c[0]; + jump_rhoux_l[1] = (-0.6123724356957944*rhoux_l[4])-0.6123724356957944*rhoux_c[4]-0.3535533905932737*rhoux_l[1]+0.3535533905932737*rhoux_c[1]; + jump_rhoux_l[2] = (-0.6123724356957944*rhoux_l[6])-0.6123724356957944*rhoux_c[6]-0.3535533905932737*rhoux_l[3]+0.3535533905932737*rhoux_c[3]; + jump_rhoux_l[3] = (-0.6123724356957944*rhoux_l[7])-0.6123724356957944*rhoux_c[7]-0.3535533905932737*rhoux_l[5]+0.3535533905932737*rhoux_c[5]; + + jump_rhoux_r[0] = (-0.6123724356957944*rhoux_r[2])-0.6123724356957944*rhoux_c[2]+0.3535533905932737*rhoux_r[0]-0.3535533905932737*rhoux_c[0]; + jump_rhoux_r[1] = (-0.6123724356957944*rhoux_r[4])-0.6123724356957944*rhoux_c[4]+0.3535533905932737*rhoux_r[1]-0.3535533905932737*rhoux_c[1]; + jump_rhoux_r[2] = (-0.6123724356957944*rhoux_r[6])-0.6123724356957944*rhoux_c[6]+0.3535533905932737*rhoux_r[3]-0.3535533905932737*rhoux_c[3]; + jump_rhoux_r[3] = (-0.6123724356957944*rhoux_r[7])-0.6123724356957944*rhoux_c[7]+0.3535533905932737*rhoux_r[5]-0.3535533905932737*rhoux_c[5]; + + jump_rhouy_l[0] = (-0.6123724356957944*rhouy_l[2])-0.6123724356957944*rhouy_c[2]-0.3535533905932737*rhouy_l[0]+0.3535533905932737*rhouy_c[0]; + jump_rhouy_l[1] = (-0.6123724356957944*rhouy_l[4])-0.6123724356957944*rhouy_c[4]-0.3535533905932737*rhouy_l[1]+0.3535533905932737*rhouy_c[1]; + jump_rhouy_l[2] = (-0.6123724356957944*rhouy_l[6])-0.6123724356957944*rhouy_c[6]-0.3535533905932737*rhouy_l[3]+0.3535533905932737*rhouy_c[3]; + jump_rhouy_l[3] = (-0.6123724356957944*rhouy_l[7])-0.6123724356957944*rhouy_c[7]-0.3535533905932737*rhouy_l[5]+0.3535533905932737*rhouy_c[5]; + + jump_rhouy_r[0] = (-0.6123724356957944*rhouy_r[2])-0.6123724356957944*rhouy_c[2]+0.3535533905932737*rhouy_r[0]-0.3535533905932737*rhouy_c[0]; + jump_rhouy_r[1] = (-0.6123724356957944*rhouy_r[4])-0.6123724356957944*rhouy_c[4]+0.3535533905932737*rhouy_r[1]-0.3535533905932737*rhouy_c[1]; + jump_rhouy_r[2] = (-0.6123724356957944*rhouy_r[6])-0.6123724356957944*rhouy_c[6]+0.3535533905932737*rhouy_r[3]-0.3535533905932737*rhouy_c[3]; + jump_rhouy_r[3] = (-0.6123724356957944*rhouy_r[7])-0.6123724356957944*rhouy_c[7]+0.3535533905932737*rhouy_r[5]-0.3535533905932737*rhouy_c[5]; + + jump_rhouz_l[0] = (-0.6123724356957944*rhouz_l[2])-0.6123724356957944*rhouz_c[2]-0.3535533905932737*rhouz_l[0]+0.3535533905932737*rhouz_c[0]; + jump_rhouz_l[1] = (-0.6123724356957944*rhouz_l[4])-0.6123724356957944*rhouz_c[4]-0.3535533905932737*rhouz_l[1]+0.3535533905932737*rhouz_c[1]; + jump_rhouz_l[2] = (-0.6123724356957944*rhouz_l[6])-0.6123724356957944*rhouz_c[6]-0.3535533905932737*rhouz_l[3]+0.3535533905932737*rhouz_c[3]; + jump_rhouz_l[3] = (-0.6123724356957944*rhouz_l[7])-0.6123724356957944*rhouz_c[7]-0.3535533905932737*rhouz_l[5]+0.3535533905932737*rhouz_c[5]; + + jump_rhouz_r[0] = (-0.6123724356957944*rhouz_r[2])-0.6123724356957944*rhouz_c[2]+0.3535533905932737*rhouz_r[0]-0.3535533905932737*rhouz_c[0]; + jump_rhouz_r[1] = (-0.6123724356957944*rhouz_r[4])-0.6123724356957944*rhouz_c[4]+0.3535533905932737*rhouz_r[1]-0.3535533905932737*rhouz_c[1]; + jump_rhouz_r[2] = (-0.6123724356957944*rhouz_r[6])-0.6123724356957944*rhouz_c[6]+0.3535533905932737*rhouz_r[3]-0.3535533905932737*rhouz_c[3]; + jump_rhouz_r[3] = (-0.6123724356957944*rhouz_r[7])-0.6123724356957944*rhouz_c[7]+0.3535533905932737*rhouz_r[5]-0.3535533905932737*rhouz_c[5]; + + double ul_r = 0.0; + double uc_l = 0.0; + double uc_r = 0.0; + double ur_l = 0.0; double uQuad_l = 0.0; double uQuad_r = 0.0; - double vth_sq_l_r = 0.0; - double vth_sq_c_l = 0.0; - double vth_sq_c_r = 0.0; - double vth_sq_r_l = 0.0; + + double vth_sql_r = 0.0; + double vth_sqc_l = 0.0; + double vth_sqc_r = 0.0; + double vth_sqr_l = 0.0; double vthQuad_l = 0.0; double vthQuad_r = 0.0; - double max_speed_l = 0.0; - double max_speed_r = 0.0; - double rhoux_l_r = 0.0; - double rhoux_c_l = 0.0; - double rhoux_c_r = 0.0; - double rhoux_r_l = 0.0; - double rhouy_l_r = 0.0; - double rhouy_c_l = 0.0; - double rhouy_c_r = 0.0; - double rhouy_r_l = 0.0; - double rhouz_l_r = 0.0; - double rhouz_c_l = 0.0; - double rhouz_c_r = 0.0; - double rhouz_r_l = 0.0; - - u_l_r = ser_3x_p1_surfx2_eval_quad_node_0_r(u_l); - u_c_l = ser_3x_p1_surfx2_eval_quad_node_0_l(u_c); - u_c_r = ser_3x_p1_surfx2_eval_quad_node_0_r(u_c); - u_r_l = ser_3x_p1_surfx2_eval_quad_node_0_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx2_eval_quad_node_0_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx2_eval_quad_node_0_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx2_eval_quad_node_0_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx2_eval_quad_node_0_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx2_eval_quad_node_0_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx2_eval_quad_node_0_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx2_eval_quad_node_0_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx2_eval_quad_node_0_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx2_eval_quad_node_0_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx2_eval_quad_node_0_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx2_eval_quad_node_0_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx2_eval_quad_node_0_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx2_eval_quad_node_0_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx2_eval_quad_node_0_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx2_eval_quad_node_0_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx2_eval_quad_node_0_l(rhouz_r); - lax_rhoux_quad_l[0] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[0] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[0] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[0] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[0] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[0] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_3x_p1_surfx2_eval_quad_node_1_r(u_l); - u_c_l = ser_3x_p1_surfx2_eval_quad_node_1_l(u_c); - u_c_r = ser_3x_p1_surfx2_eval_quad_node_1_r(u_c); - u_r_l = ser_3x_p1_surfx2_eval_quad_node_1_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx2_eval_quad_node_1_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx2_eval_quad_node_1_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx2_eval_quad_node_1_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx2_eval_quad_node_1_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx2_eval_quad_node_1_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx2_eval_quad_node_1_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx2_eval_quad_node_1_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx2_eval_quad_node_1_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx2_eval_quad_node_1_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx2_eval_quad_node_1_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx2_eval_quad_node_1_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx2_eval_quad_node_1_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx2_eval_quad_node_1_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx2_eval_quad_node_1_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx2_eval_quad_node_1_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx2_eval_quad_node_1_l(rhouz_r); - lax_rhoux_quad_l[1] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[1] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[1] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[1] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[1] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[1] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_3x_p1_surfx2_eval_quad_node_2_r(u_l); - u_c_l = ser_3x_p1_surfx2_eval_quad_node_2_l(u_c); - u_c_r = ser_3x_p1_surfx2_eval_quad_node_2_r(u_c); - u_r_l = ser_3x_p1_surfx2_eval_quad_node_2_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx2_eval_quad_node_2_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx2_eval_quad_node_2_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx2_eval_quad_node_2_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx2_eval_quad_node_2_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx2_eval_quad_node_2_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx2_eval_quad_node_2_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx2_eval_quad_node_2_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx2_eval_quad_node_2_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx2_eval_quad_node_2_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx2_eval_quad_node_2_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx2_eval_quad_node_2_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx2_eval_quad_node_2_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx2_eval_quad_node_2_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx2_eval_quad_node_2_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx2_eval_quad_node_2_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx2_eval_quad_node_2_l(rhouz_r); - lax_rhoux_quad_l[2] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[2] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[2] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[2] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[2] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[2] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_3x_p1_surfx2_eval_quad_node_3_r(u_l); - u_c_l = ser_3x_p1_surfx2_eval_quad_node_3_l(u_c); - u_c_r = ser_3x_p1_surfx2_eval_quad_node_3_r(u_c); - u_r_l = ser_3x_p1_surfx2_eval_quad_node_3_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx2_eval_quad_node_3_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx2_eval_quad_node_3_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx2_eval_quad_node_3_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx2_eval_quad_node_3_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx2_eval_quad_node_3_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx2_eval_quad_node_3_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx2_eval_quad_node_3_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx2_eval_quad_node_3_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx2_eval_quad_node_3_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx2_eval_quad_node_3_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx2_eval_quad_node_3_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx2_eval_quad_node_3_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx2_eval_quad_node_3_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx2_eval_quad_node_3_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx2_eval_quad_node_3_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx2_eval_quad_node_3_l(rhouz_r); - lax_rhoux_quad_l[3] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[3] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[3] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[3] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[3] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[3] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - // Project tensor nodal quadrature basis back onto modal basis. - ser_3x_p1_upwind_quad_to_modal(lax_rhoux_quad_l, lax_rhoux_modal_l); - ser_3x_p1_upwind_quad_to_modal(lax_rhoux_quad_r, lax_rhoux_modal_r); - ser_3x_p1_upwind_quad_to_modal(lax_rhouy_quad_l, lax_rhouy_modal_l); - ser_3x_p1_upwind_quad_to_modal(lax_rhouy_quad_r, lax_rhouy_modal_r); - ser_3x_p1_upwind_quad_to_modal(lax_rhouz_quad_l, lax_rhouz_modal_l); - ser_3x_p1_upwind_quad_to_modal(lax_rhouz_quad_r, lax_rhouz_modal_r); - - outrhou0[0] += 0.7071067811865475*lax_rhoux_modal_l[0]*dx1-0.7071067811865475*lax_rhoux_modal_r[0]*dx1; - outrhou0[1] += 0.7071067811865475*lax_rhoux_modal_l[1]*dx1-0.7071067811865475*lax_rhoux_modal_r[1]*dx1; - outrhou0[2] += (-1.224744871391589*lax_rhoux_modal_r[0]*dx1)-1.224744871391589*lax_rhoux_modal_l[0]*dx1; - outrhou0[3] += 0.7071067811865475*lax_rhoux_modal_l[2]*dx1-0.7071067811865475*lax_rhoux_modal_r[2]*dx1; - outrhou0[4] += (-1.224744871391589*lax_rhoux_modal_r[1]*dx1)-1.224744871391589*lax_rhoux_modal_l[1]*dx1; - outrhou0[5] += 0.7071067811865475*lax_rhoux_modal_l[3]*dx1-0.7071067811865475*lax_rhoux_modal_r[3]*dx1; - outrhou0[6] += (-1.224744871391589*lax_rhoux_modal_r[2]*dx1)-1.224744871391589*lax_rhoux_modal_l[2]*dx1; - outrhou0[7] += (-1.224744871391589*lax_rhoux_modal_r[3]*dx1)-1.224744871391589*lax_rhoux_modal_l[3]*dx1; - - outrhou1[0] += 0.7071067811865475*lax_rhouy_modal_l[0]*dx1-0.7071067811865475*lax_rhouy_modal_r[0]*dx1; - outrhou1[1] += 0.7071067811865475*lax_rhouy_modal_l[1]*dx1-0.7071067811865475*lax_rhouy_modal_r[1]*dx1; - outrhou1[2] += (-1.224744871391589*lax_rhouy_modal_r[0]*dx1)-1.224744871391589*lax_rhouy_modal_l[0]*dx1; - outrhou1[3] += 0.7071067811865475*lax_rhouy_modal_l[2]*dx1-0.7071067811865475*lax_rhouy_modal_r[2]*dx1; - outrhou1[4] += (-1.224744871391589*lax_rhouy_modal_r[1]*dx1)-1.224744871391589*lax_rhouy_modal_l[1]*dx1; - outrhou1[5] += 0.7071067811865475*lax_rhouy_modal_l[3]*dx1-0.7071067811865475*lax_rhouy_modal_r[3]*dx1; - outrhou1[6] += (-1.224744871391589*lax_rhouy_modal_r[2]*dx1)-1.224744871391589*lax_rhouy_modal_l[2]*dx1; - outrhou1[7] += (-1.224744871391589*lax_rhouy_modal_r[3]*dx1)-1.224744871391589*lax_rhouy_modal_l[3]*dx1; - - outrhou2[0] += 0.7071067811865475*lax_rhouz_modal_l[0]*dx1-0.7071067811865475*lax_rhouz_modal_r[0]*dx1; - outrhou2[1] += 0.7071067811865475*lax_rhouz_modal_l[1]*dx1-0.7071067811865475*lax_rhouz_modal_r[1]*dx1; - outrhou2[2] += (-1.224744871391589*lax_rhouz_modal_r[0]*dx1)-1.224744871391589*lax_rhouz_modal_l[0]*dx1; - outrhou2[3] += 0.7071067811865475*lax_rhouz_modal_l[2]*dx1-0.7071067811865475*lax_rhouz_modal_r[2]*dx1; - outrhou2[4] += (-1.224744871391589*lax_rhouz_modal_r[1]*dx1)-1.224744871391589*lax_rhouz_modal_l[1]*dx1; - outrhou2[5] += 0.7071067811865475*lax_rhouz_modal_l[3]*dx1-0.7071067811865475*lax_rhouz_modal_r[3]*dx1; - outrhou2[6] += (-1.224744871391589*lax_rhouz_modal_r[2]*dx1)-1.224744871391589*lax_rhouz_modal_l[2]*dx1; - outrhou2[7] += (-1.224744871391589*lax_rhouz_modal_r[3]*dx1)-1.224744871391589*lax_rhouz_modal_l[3]*dx1; + + ul_r = ser_3x_p1_surfx2_eval_quad_node_0_r(u_l); + uc_l = ser_3x_p1_surfx2_eval_quad_node_0_l(u_c); + uc_r = ser_3x_p1_surfx2_eval_quad_node_0_r(u_c); + ur_l = ser_3x_p1_surfx2_eval_quad_node_0_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx2_eval_quad_node_0_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx2_eval_quad_node_0_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx2_eval_quad_node_0_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx2_eval_quad_node_0_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[0] = uQuad_l + vthQuad_l; + max_speed_quad_r[0] = uQuad_r + vthQuad_r; + ul_r = ser_3x_p1_surfx2_eval_quad_node_1_r(u_l); + uc_l = ser_3x_p1_surfx2_eval_quad_node_1_l(u_c); + uc_r = ser_3x_p1_surfx2_eval_quad_node_1_r(u_c); + ur_l = ser_3x_p1_surfx2_eval_quad_node_1_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx2_eval_quad_node_1_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx2_eval_quad_node_1_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx2_eval_quad_node_1_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx2_eval_quad_node_1_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[1] = uQuad_l + vthQuad_l; + max_speed_quad_r[1] = uQuad_r + vthQuad_r; + ul_r = ser_3x_p1_surfx2_eval_quad_node_2_r(u_l); + uc_l = ser_3x_p1_surfx2_eval_quad_node_2_l(u_c); + uc_r = ser_3x_p1_surfx2_eval_quad_node_2_r(u_c); + ur_l = ser_3x_p1_surfx2_eval_quad_node_2_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx2_eval_quad_node_2_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx2_eval_quad_node_2_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx2_eval_quad_node_2_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx2_eval_quad_node_2_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[2] = uQuad_l + vthQuad_l; + max_speed_quad_r[2] = uQuad_r + vthQuad_r; + ul_r = ser_3x_p1_surfx2_eval_quad_node_3_r(u_l); + uc_l = ser_3x_p1_surfx2_eval_quad_node_3_l(u_c); + uc_r = ser_3x_p1_surfx2_eval_quad_node_3_r(u_c); + ur_l = ser_3x_p1_surfx2_eval_quad_node_3_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx2_eval_quad_node_3_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx2_eval_quad_node_3_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx2_eval_quad_node_3_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx2_eval_quad_node_3_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[3] = uQuad_l + vthQuad_l; + max_speed_quad_r[3] = uQuad_r + vthQuad_r; + ser_3x_p1_upwind_quad_to_modal(max_speed_quad_l, max_speed_modal_l); + ser_3x_p1_upwind_quad_to_modal(max_speed_quad_r, max_speed_modal_r); + outrhou0[0] += 0.3535533905932737*jump_rhoux_r[3]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[3]*max_speed_modal_l[3]*dx1-0.3535533905932737*avg_ux_r[3]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[3]*flux_rho_l[3]*dx1+0.3535533905932737*jump_rhoux_r[2]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhoux_l[2]*max_speed_modal_l[2]*dx1-0.3535533905932737*avg_ux_r[2]*flux_rho_r[2]*dx1+0.3535533905932737*avg_ux_l[2]*flux_rho_l[2]*dx1+0.3535533905932737*jump_rhoux_r[1]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhoux_l[1]*max_speed_modal_l[1]*dx1-0.3535533905932737*avg_ux_r[1]*flux_rho_r[1]*dx1+0.3535533905932737*avg_ux_l[1]*flux_rho_l[1]*dx1+0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[0]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[0]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[0]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[0]*dx1; + outrhou0[1] += 0.3535533905932737*jump_rhoux_r[2]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[2]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[2]*jump_rhoux_r[3]*dx1-0.3535533905932737*max_speed_modal_l[2]*jump_rhoux_l[3]*dx1-0.3535533905932737*avg_ux_r[2]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[2]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[2]*avg_ux_r[3]*dx1+0.3535533905932737*flux_rho_l[2]*avg_ux_l[3]*dx1+0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[1]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhoux_r[1]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhoux_l[1]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[1]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[1]*dx1-0.3535533905932737*flux_rho_r[0]*avg_ux_r[1]*dx1+0.3535533905932737*flux_rho_l[0]*avg_ux_l[1]*dx1; + outrhou0[2] += 0.6123724356957944*jump_rhoux_r[3]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[3]*max_speed_modal_l[3]*dx1-0.6123724356957944*avg_ux_r[3]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[3]*flux_rho_l[3]*dx1+0.6123724356957944*jump_rhoux_r[2]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhoux_l[2]*max_speed_modal_l[2]*dx1-0.6123724356957944*avg_ux_r[2]*flux_rho_r[2]*dx1-0.6123724356957944*avg_ux_l[2]*flux_rho_l[2]*dx1+0.6123724356957944*jump_rhoux_r[1]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhoux_l[1]*max_speed_modal_l[1]*dx1-0.6123724356957944*avg_ux_r[1]*flux_rho_r[1]*dx1-0.6123724356957944*avg_ux_l[1]*flux_rho_l[1]*dx1+0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[0]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[0]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[0]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[0]*dx1; + outrhou0[3] += 0.3535533905932737*jump_rhoux_r[1]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[1]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhoux_r[3]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhoux_l[3]*dx1-0.3535533905932737*avg_ux_r[1]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[1]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[1]*avg_ux_r[3]*dx1+0.3535533905932737*flux_rho_l[1]*avg_ux_l[3]*dx1+0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhoux_r[2]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhoux_l[2]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[2]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[0]*avg_ux_r[2]*dx1+0.3535533905932737*flux_rho_l[0]*avg_ux_l[2]*dx1; + outrhou0[4] += 0.6123724356957944*jump_rhoux_r[2]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[2]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[2]*jump_rhoux_r[3]*dx1+0.6123724356957944*max_speed_modal_l[2]*jump_rhoux_l[3]*dx1-0.6123724356957944*avg_ux_r[2]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[2]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[2]*avg_ux_r[3]*dx1-0.6123724356957944*flux_rho_l[2]*avg_ux_l[3]*dx1+0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[1]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhoux_r[1]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhoux_l[1]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[1]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[1]*dx1-0.6123724356957944*flux_rho_r[0]*avg_ux_r[1]*dx1-0.6123724356957944*flux_rho_l[0]*avg_ux_l[1]*dx1; + outrhou0[5] += 0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhoux_r[3]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhoux_l[3]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[0]*avg_ux_r[3]*dx1+0.3535533905932737*flux_rho_l[0]*avg_ux_l[3]*dx1+0.3535533905932737*jump_rhoux_r[1]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhoux_l[1]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhoux_r[2]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhoux_l[2]*dx1-0.3535533905932737*avg_ux_r[1]*flux_rho_r[2]*dx1+0.3535533905932737*avg_ux_l[1]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[1]*avg_ux_r[2]*dx1+0.3535533905932737*flux_rho_l[1]*avg_ux_l[2]*dx1; + outrhou0[6] += 0.6123724356957944*jump_rhoux_r[1]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[1]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhoux_r[3]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhoux_l[3]*dx1-0.6123724356957944*avg_ux_r[1]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[1]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[1]*avg_ux_r[3]*dx1-0.6123724356957944*flux_rho_l[1]*avg_ux_l[3]*dx1+0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhoux_r[2]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhoux_l[2]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[2]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[0]*avg_ux_r[2]*dx1-0.6123724356957944*flux_rho_l[0]*avg_ux_l[2]*dx1; + outrhou0[7] += 0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhoux_r[3]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhoux_l[3]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[0]*avg_ux_r[3]*dx1-0.6123724356957944*flux_rho_l[0]*avg_ux_l[3]*dx1+0.6123724356957944*jump_rhoux_r[1]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhoux_l[1]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhoux_r[2]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhoux_l[2]*dx1-0.6123724356957944*avg_ux_r[1]*flux_rho_r[2]*dx1-0.6123724356957944*avg_ux_l[1]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[1]*avg_ux_r[2]*dx1-0.6123724356957944*flux_rho_l[1]*avg_ux_l[2]*dx1; + + outrhou1[0] += 0.3535533905932737*jump_rhouy_r[3]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[3]*max_speed_modal_l[3]*dx1-0.3535533905932737*avg_uy_r[3]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[3]*flux_rho_l[3]*dx1+0.3535533905932737*jump_rhouy_r[2]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouy_l[2]*max_speed_modal_l[2]*dx1-0.3535533905932737*avg_uy_r[2]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uy_l[2]*flux_rho_l[2]*dx1+0.3535533905932737*jump_rhouy_r[1]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouy_l[1]*max_speed_modal_l[1]*dx1-0.3535533905932737*avg_uy_r[1]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uy_l[1]*flux_rho_l[1]*dx1+0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[0]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[0]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[0]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[0]*dx1; + outrhou1[1] += 0.3535533905932737*jump_rhouy_r[2]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[2]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[2]*jump_rhouy_r[3]*dx1-0.3535533905932737*max_speed_modal_l[2]*jump_rhouy_l[3]*dx1-0.3535533905932737*avg_uy_r[2]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[2]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[2]*avg_uy_r[3]*dx1+0.3535533905932737*flux_rho_l[2]*avg_uy_l[3]*dx1+0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[1]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouy_r[1]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouy_l[1]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[1]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uy_r[1]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uy_l[1]*dx1; + outrhou1[2] += 0.6123724356957944*jump_rhouy_r[3]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[3]*max_speed_modal_l[3]*dx1-0.6123724356957944*avg_uy_r[3]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[3]*flux_rho_l[3]*dx1+0.6123724356957944*jump_rhouy_r[2]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouy_l[2]*max_speed_modal_l[2]*dx1-0.6123724356957944*avg_uy_r[2]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uy_l[2]*flux_rho_l[2]*dx1+0.6123724356957944*jump_rhouy_r[1]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouy_l[1]*max_speed_modal_l[1]*dx1-0.6123724356957944*avg_uy_r[1]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uy_l[1]*flux_rho_l[1]*dx1+0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[0]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[0]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[0]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[0]*dx1; + outrhou1[3] += 0.3535533905932737*jump_rhouy_r[1]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[1]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouy_r[3]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouy_l[3]*dx1-0.3535533905932737*avg_uy_r[1]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[1]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uy_r[3]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uy_l[3]*dx1+0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouy_r[2]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouy_l[2]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uy_r[2]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uy_l[2]*dx1; + outrhou1[4] += 0.6123724356957944*jump_rhouy_r[2]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[2]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[2]*jump_rhouy_r[3]*dx1+0.6123724356957944*max_speed_modal_l[2]*jump_rhouy_l[3]*dx1-0.6123724356957944*avg_uy_r[2]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[2]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[2]*avg_uy_r[3]*dx1-0.6123724356957944*flux_rho_l[2]*avg_uy_l[3]*dx1+0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[1]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouy_r[1]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouy_l[1]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[1]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uy_r[1]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uy_l[1]*dx1; + outrhou1[5] += 0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouy_r[3]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouy_l[3]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uy_r[3]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uy_l[3]*dx1+0.3535533905932737*jump_rhouy_r[1]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouy_l[1]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouy_r[2]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouy_l[2]*dx1-0.3535533905932737*avg_uy_r[1]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uy_l[1]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uy_r[2]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uy_l[2]*dx1; + outrhou1[6] += 0.6123724356957944*jump_rhouy_r[1]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[1]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouy_r[3]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouy_l[3]*dx1-0.6123724356957944*avg_uy_r[1]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[1]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uy_r[3]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uy_l[3]*dx1+0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouy_r[2]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouy_l[2]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uy_r[2]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uy_l[2]*dx1; + outrhou1[7] += 0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouy_r[3]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouy_l[3]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uy_r[3]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uy_l[3]*dx1+0.6123724356957944*jump_rhouy_r[1]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouy_l[1]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouy_r[2]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouy_l[2]*dx1-0.6123724356957944*avg_uy_r[1]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uy_l[1]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uy_r[2]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uy_l[2]*dx1; + + outrhou2[0] += 0.3535533905932737*jump_rhouz_r[3]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[3]*max_speed_modal_l[3]*dx1-0.3535533905932737*avg_uz_r[3]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[3]*flux_rho_l[3]*dx1+0.3535533905932737*jump_rhouz_r[2]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouz_l[2]*max_speed_modal_l[2]*dx1-0.3535533905932737*avg_uz_r[2]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uz_l[2]*flux_rho_l[2]*dx1+0.3535533905932737*jump_rhouz_r[1]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouz_l[1]*max_speed_modal_l[1]*dx1-0.3535533905932737*avg_uz_r[1]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uz_l[1]*flux_rho_l[1]*dx1+0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[0]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[0]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[0]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[0]*dx1; + outrhou2[1] += 0.3535533905932737*jump_rhouz_r[2]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[2]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[2]*jump_rhouz_r[3]*dx1-0.3535533905932737*max_speed_modal_l[2]*jump_rhouz_l[3]*dx1-0.3535533905932737*avg_uz_r[2]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[2]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[2]*avg_uz_r[3]*dx1+0.3535533905932737*flux_rho_l[2]*avg_uz_l[3]*dx1+0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[1]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouz_r[1]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouz_l[1]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[1]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uz_r[1]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uz_l[1]*dx1; + outrhou2[2] += 0.6123724356957944*jump_rhouz_r[3]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[3]*max_speed_modal_l[3]*dx1-0.6123724356957944*avg_uz_r[3]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[3]*flux_rho_l[3]*dx1+0.6123724356957944*jump_rhouz_r[2]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouz_l[2]*max_speed_modal_l[2]*dx1-0.6123724356957944*avg_uz_r[2]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uz_l[2]*flux_rho_l[2]*dx1+0.6123724356957944*jump_rhouz_r[1]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouz_l[1]*max_speed_modal_l[1]*dx1-0.6123724356957944*avg_uz_r[1]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uz_l[1]*flux_rho_l[1]*dx1+0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[0]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[0]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[0]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[0]*dx1; + outrhou2[3] += 0.3535533905932737*jump_rhouz_r[1]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[1]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouz_r[3]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouz_l[3]*dx1-0.3535533905932737*avg_uz_r[1]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[1]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uz_r[3]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uz_l[3]*dx1+0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouz_r[2]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouz_l[2]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uz_r[2]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uz_l[2]*dx1; + outrhou2[4] += 0.6123724356957944*jump_rhouz_r[2]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[2]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[2]*jump_rhouz_r[3]*dx1+0.6123724356957944*max_speed_modal_l[2]*jump_rhouz_l[3]*dx1-0.6123724356957944*avg_uz_r[2]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[2]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[2]*avg_uz_r[3]*dx1-0.6123724356957944*flux_rho_l[2]*avg_uz_l[3]*dx1+0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[1]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouz_r[1]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouz_l[1]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[1]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uz_r[1]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uz_l[1]*dx1; + outrhou2[5] += 0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouz_r[3]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouz_l[3]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uz_r[3]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uz_l[3]*dx1+0.3535533905932737*jump_rhouz_r[1]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouz_l[1]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouz_r[2]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouz_l[2]*dx1-0.3535533905932737*avg_uz_r[1]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uz_l[1]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uz_r[2]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uz_l[2]*dx1; + outrhou2[6] += 0.6123724356957944*jump_rhouz_r[1]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[1]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouz_r[3]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouz_l[3]*dx1-0.6123724356957944*avg_uz_r[1]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[1]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uz_r[3]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uz_l[3]*dx1+0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouz_r[2]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouz_l[2]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uz_r[2]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uz_l[2]*dx1; + outrhou2[7] += 0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouz_r[3]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouz_l[3]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uz_r[3]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uz_l[3]*dx1+0.6123724356957944*jump_rhouz_r[1]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouz_l[1]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouz_r[2]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouz_l[2]*dx1-0.6123724356957944*avg_uz_r[1]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uz_l[1]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uz_r[2]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uz_l[2]*dx1; + + return 0.; } diff --git a/kernels/pkpm/euler_pkpm_surfz_3x_ser_p1.c b/kernels/pkpm/euler_pkpm_surfz_3x_ser_p1.c index c307244e0..159676d1b 100644 --- a/kernels/pkpm/euler_pkpm_surfz_3x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_surfz_3x_ser_p1.c @@ -1,7 +1,8 @@ #include #include #include -GKYL_CU_DH void euler_pkpm_surfz_3x_ser_p1(const double *w, const double *dxv, +GKYL_CU_DH double euler_pkpm_surfz_3x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, const double *u_il, const double *u_ic, const double *u_ir, const double *T_ijl, const double *T_ijc, const double *T_ijr, const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out) @@ -27,6 +28,23 @@ GKYL_CU_DH void euler_pkpm_surfz_3x_ser_p1(const double *w, const double *dxv, const double *rhouy_r = &statevecr[8]; const double *rhouz_r = &statevecr[16]; + const double *rho_l = &vlasov_pkpm_momsl[0]; + const double *rho_c = &vlasov_pkpm_momsc[0]; + const double *rho_r = &vlasov_pkpm_momsr[0]; + + const double *ux_l = &u_il[0]; + const double *ux_c = &u_ic[0]; + const double *ux_r = &u_ir[0]; + + const double *uy_l = &u_il[8]; + const double *uy_c = &u_ic[8]; + const double *uy_r = &u_ir[8]; + + const double *uz_l = &u_il[16]; + const double *uz_c = &u_ic[16]; + const double *uz_r = &u_ir[16]; + + // Get another pointer for u in direction of update for ease of flux calculation. const double *u_l = &u_il[16]; const double *u_c = &u_ic[16]; const double *u_r = &u_ir[16]; @@ -40,211 +58,193 @@ GKYL_CU_DH void euler_pkpm_surfz_3x_ser_p1(const double *w, const double *dxv, double *outrhou1 = &out[8]; double *outrhou2 = &out[16]; - double lax_rhoux_quad_l[4] = {0.0}; - double lax_rhoux_quad_r[4] = {0.0}; - double lax_rhoux_modal_l[4] = {0.0}; - double lax_rhoux_modal_r[4] = {0.0}; - double lax_rhouy_quad_l[4] = {0.0}; - double lax_rhouy_quad_r[4] = {0.0}; - double lax_rhouy_modal_l[4] = {0.0}; - double lax_rhouy_modal_r[4] = {0.0}; - double lax_rhouz_quad_l[4] = {0.0}; - double lax_rhouz_quad_r[4] = {0.0}; - double lax_rhouz_modal_l[4] = {0.0}; - double lax_rhouz_modal_r[4] = {0.0}; - - double u_l_r = 0.0; - double u_c_l = 0.0; - double u_c_r = 0.0; - double u_r_l = 0.0; + double flux_rho_l[4] = {0.0}; + double flux_rho_r[4] = {0.0}; + double avg_ux_l[4] = {0.0}; + double avg_ux_r[4] = {0.0}; + double avg_uy_l[4] = {0.0}; + double avg_uy_r[4] = {0.0}; + double avg_uz_l[4] = {0.0}; + double avg_uz_r[4] = {0.0}; + double jump_rhoux_l[4] = {0.0}; + double jump_rhoux_r[4] = {0.0}; + double jump_rhouy_l[4] = {0.0}; + double jump_rhouy_r[4] = {0.0}; + double jump_rhouz_l[4] = {0.0}; + double jump_rhouz_r[4] = {0.0}; + double max_speed_quad_l[4] = {0.0}; + double max_speed_quad_r[4] = {0.0}; + double max_speed_modal_l[4] = {0.0}; + double max_speed_modal_r[4] = {0.0}; + flux_rho_l[0] = 0.1875*rho_l[7]*u_l[7]-0.1875*rho_c[7]*u_l[7]+0.1082531754730548*rho_l[4]*u_l[7]+0.1082531754730548*rho_c[4]*u_l[7]-0.1875*rho_l[7]*u_c[7]+0.1875*rho_c[7]*u_c[7]-0.1082531754730548*rho_l[4]*u_c[7]-0.1082531754730548*rho_c[4]*u_c[7]+0.1082531754730548*u_l[4]*rho_l[7]+0.1082531754730548*u_c[4]*rho_l[7]-0.1082531754730548*u_l[4]*rho_c[7]-0.1082531754730548*u_c[4]*rho_c[7]+0.1875*rho_l[6]*u_l[6]-0.1875*rho_c[6]*u_l[6]+0.1082531754730548*rho_l[2]*u_l[6]+0.1082531754730548*rho_c[2]*u_l[6]-0.1875*rho_l[6]*u_c[6]+0.1875*rho_c[6]*u_c[6]-0.1082531754730548*rho_l[2]*u_c[6]-0.1082531754730548*rho_c[2]*u_c[6]+0.1082531754730548*u_l[2]*rho_l[6]+0.1082531754730548*u_c[2]*rho_l[6]-0.1082531754730548*u_l[2]*rho_c[6]-0.1082531754730548*u_c[2]*rho_c[6]+0.1875*rho_l[5]*u_l[5]-0.1875*rho_c[5]*u_l[5]+0.1082531754730548*rho_l[1]*u_l[5]+0.1082531754730548*rho_c[1]*u_l[5]-0.1875*rho_l[5]*u_c[5]+0.1875*rho_c[5]*u_c[5]-0.1082531754730548*rho_l[1]*u_c[5]-0.1082531754730548*rho_c[1]*u_c[5]+0.1082531754730548*u_l[1]*rho_l[5]+0.1082531754730548*u_c[1]*rho_l[5]-0.1082531754730548*u_l[1]*rho_c[5]-0.1082531754730548*u_c[1]*rho_c[5]+0.0625*rho_l[4]*u_l[4]+0.0625*rho_c[4]*u_l[4]+0.0625*rho_l[4]*u_c[4]+0.0625*rho_c[4]*u_c[4]+0.1875*rho_l[3]*u_l[3]-0.1875*rho_c[3]*u_l[3]+0.1082531754730548*rho_l[0]*u_l[3]+0.1082531754730548*rho_c[0]*u_l[3]-0.1875*rho_l[3]*u_c[3]+0.1875*rho_c[3]*u_c[3]-0.1082531754730548*rho_l[0]*u_c[3]-0.1082531754730548*rho_c[0]*u_c[3]+0.1082531754730548*u_l[0]*rho_l[3]+0.1082531754730548*u_c[0]*rho_l[3]-0.1082531754730548*u_l[0]*rho_c[3]-0.1082531754730548*u_c[0]*rho_c[3]+0.0625*rho_l[2]*u_l[2]+0.0625*rho_c[2]*u_l[2]+0.0625*rho_l[2]*u_c[2]+0.0625*rho_c[2]*u_c[2]+0.0625*rho_l[1]*u_l[1]+0.0625*rho_c[1]*u_l[1]+0.0625*rho_l[1]*u_c[1]+0.0625*rho_c[1]*u_c[1]+0.0625*rho_l[0]*u_l[0]+0.0625*rho_c[0]*u_l[0]+0.0625*rho_l[0]*u_c[0]+0.0625*rho_c[0]*u_c[0]; + flux_rho_l[1] = 0.1875*rho_l[6]*u_l[7]-0.1875*rho_c[6]*u_l[7]+0.1082531754730548*rho_l[2]*u_l[7]+0.1082531754730548*rho_c[2]*u_l[7]-0.1875*rho_l[6]*u_c[7]+0.1875*rho_c[6]*u_c[7]-0.1082531754730548*rho_l[2]*u_c[7]-0.1082531754730548*rho_c[2]*u_c[7]+0.1875*u_l[6]*rho_l[7]-0.1875*u_c[6]*rho_l[7]+0.1082531754730548*u_l[2]*rho_l[7]+0.1082531754730548*u_c[2]*rho_l[7]-0.1875*u_l[6]*rho_c[7]+0.1875*u_c[6]*rho_c[7]-0.1082531754730548*u_l[2]*rho_c[7]-0.1082531754730548*u_c[2]*rho_c[7]+0.1082531754730548*rho_l[4]*u_l[6]+0.1082531754730548*rho_c[4]*u_l[6]-0.1082531754730548*rho_l[4]*u_c[6]-0.1082531754730548*rho_c[4]*u_c[6]+0.1082531754730548*u_l[4]*rho_l[6]+0.1082531754730548*u_c[4]*rho_l[6]-0.1082531754730548*u_l[4]*rho_c[6]-0.1082531754730548*u_c[4]*rho_c[6]+0.1875*rho_l[3]*u_l[5]-0.1875*rho_c[3]*u_l[5]+0.1082531754730548*rho_l[0]*u_l[5]+0.1082531754730548*rho_c[0]*u_l[5]-0.1875*rho_l[3]*u_c[5]+0.1875*rho_c[3]*u_c[5]-0.1082531754730548*rho_l[0]*u_c[5]-0.1082531754730548*rho_c[0]*u_c[5]+0.1875*u_l[3]*rho_l[5]-0.1875*u_c[3]*rho_l[5]+0.1082531754730548*u_l[0]*rho_l[5]+0.1082531754730548*u_c[0]*rho_l[5]-0.1875*u_l[3]*rho_c[5]+0.1875*u_c[3]*rho_c[5]-0.1082531754730548*u_l[0]*rho_c[5]-0.1082531754730548*u_c[0]*rho_c[5]+0.0625*rho_l[2]*u_l[4]+0.0625*rho_c[2]*u_l[4]+0.0625*rho_l[2]*u_c[4]+0.0625*rho_c[2]*u_c[4]+0.0625*u_l[2]*rho_l[4]+0.0625*u_c[2]*rho_l[4]+0.0625*u_l[2]*rho_c[4]+0.0625*u_c[2]*rho_c[4]+0.1082531754730548*rho_l[1]*u_l[3]+0.1082531754730548*rho_c[1]*u_l[3]-0.1082531754730548*rho_l[1]*u_c[3]-0.1082531754730548*rho_c[1]*u_c[3]+0.1082531754730548*u_l[1]*rho_l[3]+0.1082531754730548*u_c[1]*rho_l[3]-0.1082531754730548*u_l[1]*rho_c[3]-0.1082531754730548*u_c[1]*rho_c[3]+0.0625*rho_l[0]*u_l[1]+0.0625*rho_c[0]*u_l[1]+0.0625*rho_l[0]*u_c[1]+0.0625*rho_c[0]*u_c[1]+0.0625*u_l[0]*rho_l[1]+0.0625*u_c[0]*rho_l[1]+0.0625*u_l[0]*rho_c[1]+0.0625*u_c[0]*rho_c[1]; + flux_rho_l[2] = 0.1875*rho_l[5]*u_l[7]-0.1875*rho_c[5]*u_l[7]+0.1082531754730548*rho_l[1]*u_l[7]+0.1082531754730548*rho_c[1]*u_l[7]-0.1875*rho_l[5]*u_c[7]+0.1875*rho_c[5]*u_c[7]-0.1082531754730548*rho_l[1]*u_c[7]-0.1082531754730548*rho_c[1]*u_c[7]+0.1875*u_l[5]*rho_l[7]-0.1875*u_c[5]*rho_l[7]+0.1082531754730548*u_l[1]*rho_l[7]+0.1082531754730548*u_c[1]*rho_l[7]-0.1875*u_l[5]*rho_c[7]+0.1875*u_c[5]*rho_c[7]-0.1082531754730548*u_l[1]*rho_c[7]-0.1082531754730548*u_c[1]*rho_c[7]+0.1875*rho_l[3]*u_l[6]-0.1875*rho_c[3]*u_l[6]+0.1082531754730548*rho_l[0]*u_l[6]+0.1082531754730548*rho_c[0]*u_l[6]-0.1875*rho_l[3]*u_c[6]+0.1875*rho_c[3]*u_c[6]-0.1082531754730548*rho_l[0]*u_c[6]-0.1082531754730548*rho_c[0]*u_c[6]+0.1875*u_l[3]*rho_l[6]-0.1875*u_c[3]*rho_l[6]+0.1082531754730548*u_l[0]*rho_l[6]+0.1082531754730548*u_c[0]*rho_l[6]-0.1875*u_l[3]*rho_c[6]+0.1875*u_c[3]*rho_c[6]-0.1082531754730548*u_l[0]*rho_c[6]-0.1082531754730548*u_c[0]*rho_c[6]+0.1082531754730548*rho_l[4]*u_l[5]+0.1082531754730548*rho_c[4]*u_l[5]-0.1082531754730548*rho_l[4]*u_c[5]-0.1082531754730548*rho_c[4]*u_c[5]+0.1082531754730548*u_l[4]*rho_l[5]+0.1082531754730548*u_c[4]*rho_l[5]-0.1082531754730548*u_l[4]*rho_c[5]-0.1082531754730548*u_c[4]*rho_c[5]+0.0625*rho_l[1]*u_l[4]+0.0625*rho_c[1]*u_l[4]+0.0625*rho_l[1]*u_c[4]+0.0625*rho_c[1]*u_c[4]+0.0625*u_l[1]*rho_l[4]+0.0625*u_c[1]*rho_l[4]+0.0625*u_l[1]*rho_c[4]+0.0625*u_c[1]*rho_c[4]+0.1082531754730548*rho_l[2]*u_l[3]+0.1082531754730548*rho_c[2]*u_l[3]-0.1082531754730548*rho_l[2]*u_c[3]-0.1082531754730548*rho_c[2]*u_c[3]+0.1082531754730548*u_l[2]*rho_l[3]+0.1082531754730548*u_c[2]*rho_l[3]-0.1082531754730548*u_l[2]*rho_c[3]-0.1082531754730548*u_c[2]*rho_c[3]+0.0625*rho_l[0]*u_l[2]+0.0625*rho_c[0]*u_l[2]+0.0625*rho_l[0]*u_c[2]+0.0625*rho_c[0]*u_c[2]+0.0625*u_l[0]*rho_l[2]+0.0625*u_c[0]*rho_l[2]+0.0625*u_l[0]*rho_c[2]+0.0625*u_c[0]*rho_c[2]; + flux_rho_l[3] = 0.1875*rho_l[3]*u_l[7]-0.1875*rho_c[3]*u_l[7]+0.1082531754730548*rho_l[0]*u_l[7]+0.1082531754730548*rho_c[0]*u_l[7]-0.1875*rho_l[3]*u_c[7]+0.1875*rho_c[3]*u_c[7]-0.1082531754730548*rho_l[0]*u_c[7]-0.1082531754730548*rho_c[0]*u_c[7]+0.1875*u_l[3]*rho_l[7]-0.1875*u_c[3]*rho_l[7]+0.1082531754730548*u_l[0]*rho_l[7]+0.1082531754730548*u_c[0]*rho_l[7]-0.1875*u_l[3]*rho_c[7]+0.1875*u_c[3]*rho_c[7]-0.1082531754730548*u_l[0]*rho_c[7]-0.1082531754730548*u_c[0]*rho_c[7]+0.1875*rho_l[5]*u_l[6]-0.1875*rho_c[5]*u_l[6]+0.1082531754730548*rho_l[1]*u_l[6]+0.1082531754730548*rho_c[1]*u_l[6]-0.1875*rho_l[5]*u_c[6]+0.1875*rho_c[5]*u_c[6]-0.1082531754730548*rho_l[1]*u_c[6]-0.1082531754730548*rho_c[1]*u_c[6]+0.1875*u_l[5]*rho_l[6]-0.1875*u_c[5]*rho_l[6]+0.1082531754730548*u_l[1]*rho_l[6]+0.1082531754730548*u_c[1]*rho_l[6]-0.1875*u_l[5]*rho_c[6]+0.1875*u_c[5]*rho_c[6]-0.1082531754730548*u_l[1]*rho_c[6]-0.1082531754730548*u_c[1]*rho_c[6]+0.1082531754730548*rho_l[2]*u_l[5]+0.1082531754730548*rho_c[2]*u_l[5]-0.1082531754730548*rho_l[2]*u_c[5]-0.1082531754730548*rho_c[2]*u_c[5]+0.1082531754730548*u_l[2]*rho_l[5]+0.1082531754730548*u_c[2]*rho_l[5]-0.1082531754730548*u_l[2]*rho_c[5]-0.1082531754730548*u_c[2]*rho_c[5]+0.1082531754730548*rho_l[3]*u_l[4]-0.1082531754730548*rho_c[3]*u_l[4]+0.0625*rho_l[0]*u_l[4]+0.0625*rho_c[0]*u_l[4]+0.1082531754730548*rho_l[3]*u_c[4]-0.1082531754730548*rho_c[3]*u_c[4]+0.0625*rho_l[0]*u_c[4]+0.0625*rho_c[0]*u_c[4]+0.1082531754730548*u_l[3]*rho_l[4]-0.1082531754730548*u_c[3]*rho_l[4]+0.0625*u_l[0]*rho_l[4]+0.0625*u_c[0]*rho_l[4]+0.1082531754730548*u_l[3]*rho_c[4]-0.1082531754730548*u_c[3]*rho_c[4]+0.0625*u_l[0]*rho_c[4]+0.0625*u_c[0]*rho_c[4]+0.0625*rho_l[1]*u_l[2]+0.0625*rho_c[1]*u_l[2]+0.0625*rho_l[1]*u_c[2]+0.0625*rho_c[1]*u_c[2]+0.0625*u_l[1]*rho_l[2]+0.0625*u_c[1]*rho_l[2]+0.0625*u_l[1]*rho_c[2]+0.0625*u_c[1]*rho_c[2]; + + flux_rho_r[0] = 0.1875*rho_r[7]*u_r[7]-0.1875*rho_c[7]*u_r[7]-0.1082531754730548*rho_r[4]*u_r[7]-0.1082531754730548*rho_c[4]*u_r[7]-0.1875*rho_r[7]*u_c[7]+0.1875*rho_c[7]*u_c[7]+0.1082531754730548*rho_r[4]*u_c[7]+0.1082531754730548*rho_c[4]*u_c[7]-0.1082531754730548*u_r[4]*rho_r[7]-0.1082531754730548*u_c[4]*rho_r[7]+0.1082531754730548*u_r[4]*rho_c[7]+0.1082531754730548*u_c[4]*rho_c[7]+0.1875*rho_r[6]*u_r[6]-0.1875*rho_c[6]*u_r[6]-0.1082531754730548*rho_r[2]*u_r[6]-0.1082531754730548*rho_c[2]*u_r[6]-0.1875*rho_r[6]*u_c[6]+0.1875*rho_c[6]*u_c[6]+0.1082531754730548*rho_r[2]*u_c[6]+0.1082531754730548*rho_c[2]*u_c[6]-0.1082531754730548*u_r[2]*rho_r[6]-0.1082531754730548*u_c[2]*rho_r[6]+0.1082531754730548*u_r[2]*rho_c[6]+0.1082531754730548*u_c[2]*rho_c[6]+0.1875*rho_r[5]*u_r[5]-0.1875*rho_c[5]*u_r[5]-0.1082531754730548*rho_r[1]*u_r[5]-0.1082531754730548*rho_c[1]*u_r[5]-0.1875*rho_r[5]*u_c[5]+0.1875*rho_c[5]*u_c[5]+0.1082531754730548*rho_r[1]*u_c[5]+0.1082531754730548*rho_c[1]*u_c[5]-0.1082531754730548*u_r[1]*rho_r[5]-0.1082531754730548*u_c[1]*rho_r[5]+0.1082531754730548*u_r[1]*rho_c[5]+0.1082531754730548*u_c[1]*rho_c[5]+0.0625*rho_r[4]*u_r[4]+0.0625*rho_c[4]*u_r[4]+0.0625*rho_r[4]*u_c[4]+0.0625*rho_c[4]*u_c[4]+0.1875*rho_r[3]*u_r[3]-0.1875*rho_c[3]*u_r[3]-0.1082531754730548*rho_r[0]*u_r[3]-0.1082531754730548*rho_c[0]*u_r[3]-0.1875*rho_r[3]*u_c[3]+0.1875*rho_c[3]*u_c[3]+0.1082531754730548*rho_r[0]*u_c[3]+0.1082531754730548*rho_c[0]*u_c[3]-0.1082531754730548*u_r[0]*rho_r[3]-0.1082531754730548*u_c[0]*rho_r[3]+0.1082531754730548*u_r[0]*rho_c[3]+0.1082531754730548*u_c[0]*rho_c[3]+0.0625*rho_r[2]*u_r[2]+0.0625*rho_c[2]*u_r[2]+0.0625*rho_r[2]*u_c[2]+0.0625*rho_c[2]*u_c[2]+0.0625*rho_r[1]*u_r[1]+0.0625*rho_c[1]*u_r[1]+0.0625*rho_r[1]*u_c[1]+0.0625*rho_c[1]*u_c[1]+0.0625*rho_r[0]*u_r[0]+0.0625*rho_c[0]*u_r[0]+0.0625*rho_r[0]*u_c[0]+0.0625*rho_c[0]*u_c[0]; + flux_rho_r[1] = 0.1875*rho_r[6]*u_r[7]-0.1875*rho_c[6]*u_r[7]-0.1082531754730548*rho_r[2]*u_r[7]-0.1082531754730548*rho_c[2]*u_r[7]-0.1875*rho_r[6]*u_c[7]+0.1875*rho_c[6]*u_c[7]+0.1082531754730548*rho_r[2]*u_c[7]+0.1082531754730548*rho_c[2]*u_c[7]+0.1875*u_r[6]*rho_r[7]-0.1875*u_c[6]*rho_r[7]-0.1082531754730548*u_r[2]*rho_r[7]-0.1082531754730548*u_c[2]*rho_r[7]-0.1875*u_r[6]*rho_c[7]+0.1875*u_c[6]*rho_c[7]+0.1082531754730548*u_r[2]*rho_c[7]+0.1082531754730548*u_c[2]*rho_c[7]-0.1082531754730548*rho_r[4]*u_r[6]-0.1082531754730548*rho_c[4]*u_r[6]+0.1082531754730548*rho_r[4]*u_c[6]+0.1082531754730548*rho_c[4]*u_c[6]-0.1082531754730548*u_r[4]*rho_r[6]-0.1082531754730548*u_c[4]*rho_r[6]+0.1082531754730548*u_r[4]*rho_c[6]+0.1082531754730548*u_c[4]*rho_c[6]+0.1875*rho_r[3]*u_r[5]-0.1875*rho_c[3]*u_r[5]-0.1082531754730548*rho_r[0]*u_r[5]-0.1082531754730548*rho_c[0]*u_r[5]-0.1875*rho_r[3]*u_c[5]+0.1875*rho_c[3]*u_c[5]+0.1082531754730548*rho_r[0]*u_c[5]+0.1082531754730548*rho_c[0]*u_c[5]+0.1875*u_r[3]*rho_r[5]-0.1875*u_c[3]*rho_r[5]-0.1082531754730548*u_r[0]*rho_r[5]-0.1082531754730548*u_c[0]*rho_r[5]-0.1875*u_r[3]*rho_c[5]+0.1875*u_c[3]*rho_c[5]+0.1082531754730548*u_r[0]*rho_c[5]+0.1082531754730548*u_c[0]*rho_c[5]+0.0625*rho_r[2]*u_r[4]+0.0625*rho_c[2]*u_r[4]+0.0625*rho_r[2]*u_c[4]+0.0625*rho_c[2]*u_c[4]+0.0625*u_r[2]*rho_r[4]+0.0625*u_c[2]*rho_r[4]+0.0625*u_r[2]*rho_c[4]+0.0625*u_c[2]*rho_c[4]-0.1082531754730548*rho_r[1]*u_r[3]-0.1082531754730548*rho_c[1]*u_r[3]+0.1082531754730548*rho_r[1]*u_c[3]+0.1082531754730548*rho_c[1]*u_c[3]-0.1082531754730548*u_r[1]*rho_r[3]-0.1082531754730548*u_c[1]*rho_r[3]+0.1082531754730548*u_r[1]*rho_c[3]+0.1082531754730548*u_c[1]*rho_c[3]+0.0625*rho_r[0]*u_r[1]+0.0625*rho_c[0]*u_r[1]+0.0625*rho_r[0]*u_c[1]+0.0625*rho_c[0]*u_c[1]+0.0625*u_r[0]*rho_r[1]+0.0625*u_c[0]*rho_r[1]+0.0625*u_r[0]*rho_c[1]+0.0625*u_c[0]*rho_c[1]; + flux_rho_r[2] = 0.1875*rho_r[5]*u_r[7]-0.1875*rho_c[5]*u_r[7]-0.1082531754730548*rho_r[1]*u_r[7]-0.1082531754730548*rho_c[1]*u_r[7]-0.1875*rho_r[5]*u_c[7]+0.1875*rho_c[5]*u_c[7]+0.1082531754730548*rho_r[1]*u_c[7]+0.1082531754730548*rho_c[1]*u_c[7]+0.1875*u_r[5]*rho_r[7]-0.1875*u_c[5]*rho_r[7]-0.1082531754730548*u_r[1]*rho_r[7]-0.1082531754730548*u_c[1]*rho_r[7]-0.1875*u_r[5]*rho_c[7]+0.1875*u_c[5]*rho_c[7]+0.1082531754730548*u_r[1]*rho_c[7]+0.1082531754730548*u_c[1]*rho_c[7]+0.1875*rho_r[3]*u_r[6]-0.1875*rho_c[3]*u_r[6]-0.1082531754730548*rho_r[0]*u_r[6]-0.1082531754730548*rho_c[0]*u_r[6]-0.1875*rho_r[3]*u_c[6]+0.1875*rho_c[3]*u_c[6]+0.1082531754730548*rho_r[0]*u_c[6]+0.1082531754730548*rho_c[0]*u_c[6]+0.1875*u_r[3]*rho_r[6]-0.1875*u_c[3]*rho_r[6]-0.1082531754730548*u_r[0]*rho_r[6]-0.1082531754730548*u_c[0]*rho_r[6]-0.1875*u_r[3]*rho_c[6]+0.1875*u_c[3]*rho_c[6]+0.1082531754730548*u_r[0]*rho_c[6]+0.1082531754730548*u_c[0]*rho_c[6]-0.1082531754730548*rho_r[4]*u_r[5]-0.1082531754730548*rho_c[4]*u_r[5]+0.1082531754730548*rho_r[4]*u_c[5]+0.1082531754730548*rho_c[4]*u_c[5]-0.1082531754730548*u_r[4]*rho_r[5]-0.1082531754730548*u_c[4]*rho_r[5]+0.1082531754730548*u_r[4]*rho_c[5]+0.1082531754730548*u_c[4]*rho_c[5]+0.0625*rho_r[1]*u_r[4]+0.0625*rho_c[1]*u_r[4]+0.0625*rho_r[1]*u_c[4]+0.0625*rho_c[1]*u_c[4]+0.0625*u_r[1]*rho_r[4]+0.0625*u_c[1]*rho_r[4]+0.0625*u_r[1]*rho_c[4]+0.0625*u_c[1]*rho_c[4]-0.1082531754730548*rho_r[2]*u_r[3]-0.1082531754730548*rho_c[2]*u_r[3]+0.1082531754730548*rho_r[2]*u_c[3]+0.1082531754730548*rho_c[2]*u_c[3]-0.1082531754730548*u_r[2]*rho_r[3]-0.1082531754730548*u_c[2]*rho_r[3]+0.1082531754730548*u_r[2]*rho_c[3]+0.1082531754730548*u_c[2]*rho_c[3]+0.0625*rho_r[0]*u_r[2]+0.0625*rho_c[0]*u_r[2]+0.0625*rho_r[0]*u_c[2]+0.0625*rho_c[0]*u_c[2]+0.0625*u_r[0]*rho_r[2]+0.0625*u_c[0]*rho_r[2]+0.0625*u_r[0]*rho_c[2]+0.0625*u_c[0]*rho_c[2]; + flux_rho_r[3] = 0.1875*rho_r[3]*u_r[7]-0.1875*rho_c[3]*u_r[7]-0.1082531754730548*rho_r[0]*u_r[7]-0.1082531754730548*rho_c[0]*u_r[7]-0.1875*rho_r[3]*u_c[7]+0.1875*rho_c[3]*u_c[7]+0.1082531754730548*rho_r[0]*u_c[7]+0.1082531754730548*rho_c[0]*u_c[7]+0.1875*u_r[3]*rho_r[7]-0.1875*u_c[3]*rho_r[7]-0.1082531754730548*u_r[0]*rho_r[7]-0.1082531754730548*u_c[0]*rho_r[7]-0.1875*u_r[3]*rho_c[7]+0.1875*u_c[3]*rho_c[7]+0.1082531754730548*u_r[0]*rho_c[7]+0.1082531754730548*u_c[0]*rho_c[7]+0.1875*rho_r[5]*u_r[6]-0.1875*rho_c[5]*u_r[6]-0.1082531754730548*rho_r[1]*u_r[6]-0.1082531754730548*rho_c[1]*u_r[6]-0.1875*rho_r[5]*u_c[6]+0.1875*rho_c[5]*u_c[6]+0.1082531754730548*rho_r[1]*u_c[6]+0.1082531754730548*rho_c[1]*u_c[6]+0.1875*u_r[5]*rho_r[6]-0.1875*u_c[5]*rho_r[6]-0.1082531754730548*u_r[1]*rho_r[6]-0.1082531754730548*u_c[1]*rho_r[6]-0.1875*u_r[5]*rho_c[6]+0.1875*u_c[5]*rho_c[6]+0.1082531754730548*u_r[1]*rho_c[6]+0.1082531754730548*u_c[1]*rho_c[6]-0.1082531754730548*rho_r[2]*u_r[5]-0.1082531754730548*rho_c[2]*u_r[5]+0.1082531754730548*rho_r[2]*u_c[5]+0.1082531754730548*rho_c[2]*u_c[5]-0.1082531754730548*u_r[2]*rho_r[5]-0.1082531754730548*u_c[2]*rho_r[5]+0.1082531754730548*u_r[2]*rho_c[5]+0.1082531754730548*u_c[2]*rho_c[5]-0.1082531754730548*rho_r[3]*u_r[4]+0.1082531754730548*rho_c[3]*u_r[4]+0.0625*rho_r[0]*u_r[4]+0.0625*rho_c[0]*u_r[4]-0.1082531754730548*rho_r[3]*u_c[4]+0.1082531754730548*rho_c[3]*u_c[4]+0.0625*rho_r[0]*u_c[4]+0.0625*rho_c[0]*u_c[4]-0.1082531754730548*u_r[3]*rho_r[4]+0.1082531754730548*u_c[3]*rho_r[4]+0.0625*u_r[0]*rho_r[4]+0.0625*u_c[0]*rho_r[4]-0.1082531754730548*u_r[3]*rho_c[4]+0.1082531754730548*u_c[3]*rho_c[4]+0.0625*u_r[0]*rho_c[4]+0.0625*u_c[0]*rho_c[4]+0.0625*rho_r[1]*u_r[2]+0.0625*rho_c[1]*u_r[2]+0.0625*rho_r[1]*u_c[2]+0.0625*rho_c[1]*u_c[2]+0.0625*u_r[1]*rho_r[2]+0.0625*u_c[1]*rho_r[2]+0.0625*u_r[1]*rho_c[2]+0.0625*u_c[1]*rho_c[2]; + + avg_ux_l[0] = 0.6123724356957944*ux_l[3]-0.6123724356957944*ux_c[3]+0.3535533905932737*ux_l[0]+0.3535533905932737*ux_c[0]; + avg_ux_l[1] = 0.6123724356957944*ux_l[5]-0.6123724356957944*ux_c[5]+0.3535533905932737*ux_l[1]+0.3535533905932737*ux_c[1]; + avg_ux_l[2] = 0.6123724356957944*ux_l[6]-0.6123724356957944*ux_c[6]+0.3535533905932737*ux_l[2]+0.3535533905932737*ux_c[2]; + avg_ux_l[3] = 0.6123724356957944*ux_l[7]-0.6123724356957944*ux_c[7]+0.3535533905932737*ux_l[4]+0.3535533905932737*ux_c[4]; + + avg_ux_r[0] = (-0.6123724356957944*ux_r[3])+0.6123724356957944*ux_c[3]+0.3535533905932737*ux_r[0]+0.3535533905932737*ux_c[0]; + avg_ux_r[1] = (-0.6123724356957944*ux_r[5])+0.6123724356957944*ux_c[5]+0.3535533905932737*ux_r[1]+0.3535533905932737*ux_c[1]; + avg_ux_r[2] = (-0.6123724356957944*ux_r[6])+0.6123724356957944*ux_c[6]+0.3535533905932737*ux_r[2]+0.3535533905932737*ux_c[2]; + avg_ux_r[3] = (-0.6123724356957944*ux_r[7])+0.6123724356957944*ux_c[7]+0.3535533905932737*ux_r[4]+0.3535533905932737*ux_c[4]; + + avg_uy_l[0] = 0.6123724356957944*uy_l[3]-0.6123724356957944*uy_c[3]+0.3535533905932737*uy_l[0]+0.3535533905932737*uy_c[0]; + avg_uy_l[1] = 0.6123724356957944*uy_l[5]-0.6123724356957944*uy_c[5]+0.3535533905932737*uy_l[1]+0.3535533905932737*uy_c[1]; + avg_uy_l[2] = 0.6123724356957944*uy_l[6]-0.6123724356957944*uy_c[6]+0.3535533905932737*uy_l[2]+0.3535533905932737*uy_c[2]; + avg_uy_l[3] = 0.6123724356957944*uy_l[7]-0.6123724356957944*uy_c[7]+0.3535533905932737*uy_l[4]+0.3535533905932737*uy_c[4]; + + avg_uy_r[0] = (-0.6123724356957944*uy_r[3])+0.6123724356957944*uy_c[3]+0.3535533905932737*uy_r[0]+0.3535533905932737*uy_c[0]; + avg_uy_r[1] = (-0.6123724356957944*uy_r[5])+0.6123724356957944*uy_c[5]+0.3535533905932737*uy_r[1]+0.3535533905932737*uy_c[1]; + avg_uy_r[2] = (-0.6123724356957944*uy_r[6])+0.6123724356957944*uy_c[6]+0.3535533905932737*uy_r[2]+0.3535533905932737*uy_c[2]; + avg_uy_r[3] = (-0.6123724356957944*uy_r[7])+0.6123724356957944*uy_c[7]+0.3535533905932737*uy_r[4]+0.3535533905932737*uy_c[4]; + + avg_uz_l[0] = 0.6123724356957944*uz_l[3]-0.6123724356957944*uz_c[3]+0.3535533905932737*uz_l[0]+0.3535533905932737*uz_c[0]; + avg_uz_l[1] = 0.6123724356957944*uz_l[5]-0.6123724356957944*uz_c[5]+0.3535533905932737*uz_l[1]+0.3535533905932737*uz_c[1]; + avg_uz_l[2] = 0.6123724356957944*uz_l[6]-0.6123724356957944*uz_c[6]+0.3535533905932737*uz_l[2]+0.3535533905932737*uz_c[2]; + avg_uz_l[3] = 0.6123724356957944*uz_l[7]-0.6123724356957944*uz_c[7]+0.3535533905932737*uz_l[4]+0.3535533905932737*uz_c[4]; + + avg_uz_r[0] = (-0.6123724356957944*uz_r[3])+0.6123724356957944*uz_c[3]+0.3535533905932737*uz_r[0]+0.3535533905932737*uz_c[0]; + avg_uz_r[1] = (-0.6123724356957944*uz_r[5])+0.6123724356957944*uz_c[5]+0.3535533905932737*uz_r[1]+0.3535533905932737*uz_c[1]; + avg_uz_r[2] = (-0.6123724356957944*uz_r[6])+0.6123724356957944*uz_c[6]+0.3535533905932737*uz_r[2]+0.3535533905932737*uz_c[2]; + avg_uz_r[3] = (-0.6123724356957944*uz_r[7])+0.6123724356957944*uz_c[7]+0.3535533905932737*uz_r[4]+0.3535533905932737*uz_c[4]; + + jump_rhoux_l[0] = (-0.6123724356957944*rhoux_l[3])-0.6123724356957944*rhoux_c[3]-0.3535533905932737*rhoux_l[0]+0.3535533905932737*rhoux_c[0]; + jump_rhoux_l[1] = (-0.6123724356957944*rhoux_l[5])-0.6123724356957944*rhoux_c[5]-0.3535533905932737*rhoux_l[1]+0.3535533905932737*rhoux_c[1]; + jump_rhoux_l[2] = (-0.6123724356957944*rhoux_l[6])-0.6123724356957944*rhoux_c[6]-0.3535533905932737*rhoux_l[2]+0.3535533905932737*rhoux_c[2]; + jump_rhoux_l[3] = (-0.6123724356957944*rhoux_l[7])-0.6123724356957944*rhoux_c[7]-0.3535533905932737*rhoux_l[4]+0.3535533905932737*rhoux_c[4]; + + jump_rhoux_r[0] = (-0.6123724356957944*rhoux_r[3])-0.6123724356957944*rhoux_c[3]+0.3535533905932737*rhoux_r[0]-0.3535533905932737*rhoux_c[0]; + jump_rhoux_r[1] = (-0.6123724356957944*rhoux_r[5])-0.6123724356957944*rhoux_c[5]+0.3535533905932737*rhoux_r[1]-0.3535533905932737*rhoux_c[1]; + jump_rhoux_r[2] = (-0.6123724356957944*rhoux_r[6])-0.6123724356957944*rhoux_c[6]+0.3535533905932737*rhoux_r[2]-0.3535533905932737*rhoux_c[2]; + jump_rhoux_r[3] = (-0.6123724356957944*rhoux_r[7])-0.6123724356957944*rhoux_c[7]+0.3535533905932737*rhoux_r[4]-0.3535533905932737*rhoux_c[4]; + + jump_rhouy_l[0] = (-0.6123724356957944*rhouy_l[3])-0.6123724356957944*rhouy_c[3]-0.3535533905932737*rhouy_l[0]+0.3535533905932737*rhouy_c[0]; + jump_rhouy_l[1] = (-0.6123724356957944*rhouy_l[5])-0.6123724356957944*rhouy_c[5]-0.3535533905932737*rhouy_l[1]+0.3535533905932737*rhouy_c[1]; + jump_rhouy_l[2] = (-0.6123724356957944*rhouy_l[6])-0.6123724356957944*rhouy_c[6]-0.3535533905932737*rhouy_l[2]+0.3535533905932737*rhouy_c[2]; + jump_rhouy_l[3] = (-0.6123724356957944*rhouy_l[7])-0.6123724356957944*rhouy_c[7]-0.3535533905932737*rhouy_l[4]+0.3535533905932737*rhouy_c[4]; + + jump_rhouy_r[0] = (-0.6123724356957944*rhouy_r[3])-0.6123724356957944*rhouy_c[3]+0.3535533905932737*rhouy_r[0]-0.3535533905932737*rhouy_c[0]; + jump_rhouy_r[1] = (-0.6123724356957944*rhouy_r[5])-0.6123724356957944*rhouy_c[5]+0.3535533905932737*rhouy_r[1]-0.3535533905932737*rhouy_c[1]; + jump_rhouy_r[2] = (-0.6123724356957944*rhouy_r[6])-0.6123724356957944*rhouy_c[6]+0.3535533905932737*rhouy_r[2]-0.3535533905932737*rhouy_c[2]; + jump_rhouy_r[3] = (-0.6123724356957944*rhouy_r[7])-0.6123724356957944*rhouy_c[7]+0.3535533905932737*rhouy_r[4]-0.3535533905932737*rhouy_c[4]; + + jump_rhouz_l[0] = (-0.6123724356957944*rhouz_l[3])-0.6123724356957944*rhouz_c[3]-0.3535533905932737*rhouz_l[0]+0.3535533905932737*rhouz_c[0]; + jump_rhouz_l[1] = (-0.6123724356957944*rhouz_l[5])-0.6123724356957944*rhouz_c[5]-0.3535533905932737*rhouz_l[1]+0.3535533905932737*rhouz_c[1]; + jump_rhouz_l[2] = (-0.6123724356957944*rhouz_l[6])-0.6123724356957944*rhouz_c[6]-0.3535533905932737*rhouz_l[2]+0.3535533905932737*rhouz_c[2]; + jump_rhouz_l[3] = (-0.6123724356957944*rhouz_l[7])-0.6123724356957944*rhouz_c[7]-0.3535533905932737*rhouz_l[4]+0.3535533905932737*rhouz_c[4]; + + jump_rhouz_r[0] = (-0.6123724356957944*rhouz_r[3])-0.6123724356957944*rhouz_c[3]+0.3535533905932737*rhouz_r[0]-0.3535533905932737*rhouz_c[0]; + jump_rhouz_r[1] = (-0.6123724356957944*rhouz_r[5])-0.6123724356957944*rhouz_c[5]+0.3535533905932737*rhouz_r[1]-0.3535533905932737*rhouz_c[1]; + jump_rhouz_r[2] = (-0.6123724356957944*rhouz_r[6])-0.6123724356957944*rhouz_c[6]+0.3535533905932737*rhouz_r[2]-0.3535533905932737*rhouz_c[2]; + jump_rhouz_r[3] = (-0.6123724356957944*rhouz_r[7])-0.6123724356957944*rhouz_c[7]+0.3535533905932737*rhouz_r[4]-0.3535533905932737*rhouz_c[4]; + + double ul_r = 0.0; + double uc_l = 0.0; + double uc_r = 0.0; + double ur_l = 0.0; double uQuad_l = 0.0; double uQuad_r = 0.0; - double vth_sq_l_r = 0.0; - double vth_sq_c_l = 0.0; - double vth_sq_c_r = 0.0; - double vth_sq_r_l = 0.0; + + double vth_sql_r = 0.0; + double vth_sqc_l = 0.0; + double vth_sqc_r = 0.0; + double vth_sqr_l = 0.0; double vthQuad_l = 0.0; double vthQuad_r = 0.0; - double max_speed_l = 0.0; - double max_speed_r = 0.0; - double rhoux_l_r = 0.0; - double rhoux_c_l = 0.0; - double rhoux_c_r = 0.0; - double rhoux_r_l = 0.0; - double rhouy_l_r = 0.0; - double rhouy_c_l = 0.0; - double rhouy_c_r = 0.0; - double rhouy_r_l = 0.0; - double rhouz_l_r = 0.0; - double rhouz_c_l = 0.0; - double rhouz_c_r = 0.0; - double rhouz_r_l = 0.0; - - u_l_r = ser_3x_p1_surfx3_eval_quad_node_0_r(u_l); - u_c_l = ser_3x_p1_surfx3_eval_quad_node_0_l(u_c); - u_c_r = ser_3x_p1_surfx3_eval_quad_node_0_r(u_c); - u_r_l = ser_3x_p1_surfx3_eval_quad_node_0_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx3_eval_quad_node_0_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx3_eval_quad_node_0_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx3_eval_quad_node_0_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx3_eval_quad_node_0_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx3_eval_quad_node_0_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx3_eval_quad_node_0_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx3_eval_quad_node_0_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx3_eval_quad_node_0_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx3_eval_quad_node_0_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx3_eval_quad_node_0_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx3_eval_quad_node_0_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx3_eval_quad_node_0_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx3_eval_quad_node_0_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx3_eval_quad_node_0_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx3_eval_quad_node_0_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx3_eval_quad_node_0_l(rhouz_r); - lax_rhoux_quad_l[0] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[0] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[0] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[0] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[0] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[0] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_3x_p1_surfx3_eval_quad_node_1_r(u_l); - u_c_l = ser_3x_p1_surfx3_eval_quad_node_1_l(u_c); - u_c_r = ser_3x_p1_surfx3_eval_quad_node_1_r(u_c); - u_r_l = ser_3x_p1_surfx3_eval_quad_node_1_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx3_eval_quad_node_1_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx3_eval_quad_node_1_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx3_eval_quad_node_1_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx3_eval_quad_node_1_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx3_eval_quad_node_1_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx3_eval_quad_node_1_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx3_eval_quad_node_1_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx3_eval_quad_node_1_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx3_eval_quad_node_1_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx3_eval_quad_node_1_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx3_eval_quad_node_1_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx3_eval_quad_node_1_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx3_eval_quad_node_1_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx3_eval_quad_node_1_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx3_eval_quad_node_1_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx3_eval_quad_node_1_l(rhouz_r); - lax_rhoux_quad_l[1] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[1] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[1] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[1] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[1] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[1] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_3x_p1_surfx3_eval_quad_node_2_r(u_l); - u_c_l = ser_3x_p1_surfx3_eval_quad_node_2_l(u_c); - u_c_r = ser_3x_p1_surfx3_eval_quad_node_2_r(u_c); - u_r_l = ser_3x_p1_surfx3_eval_quad_node_2_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx3_eval_quad_node_2_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx3_eval_quad_node_2_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx3_eval_quad_node_2_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx3_eval_quad_node_2_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx3_eval_quad_node_2_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx3_eval_quad_node_2_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx3_eval_quad_node_2_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx3_eval_quad_node_2_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx3_eval_quad_node_2_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx3_eval_quad_node_2_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx3_eval_quad_node_2_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx3_eval_quad_node_2_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx3_eval_quad_node_2_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx3_eval_quad_node_2_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx3_eval_quad_node_2_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx3_eval_quad_node_2_l(rhouz_r); - lax_rhoux_quad_l[2] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[2] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[2] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[2] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[2] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[2] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - u_l_r = ser_3x_p1_surfx3_eval_quad_node_3_r(u_l); - u_c_l = ser_3x_p1_surfx3_eval_quad_node_3_l(u_c); - u_c_r = ser_3x_p1_surfx3_eval_quad_node_3_r(u_c); - u_r_l = ser_3x_p1_surfx3_eval_quad_node_3_l(u_r); - uQuad_l = fmax(fabs(u_l_r), fabs(u_c_l)); - uQuad_r = fmax(fabs(u_c_r), fabs(u_r_l)); - vth_sq_l_r = ser_3x_p1_surfx3_eval_quad_node_3_r(vth_sql); - vth_sq_c_l = ser_3x_p1_surfx3_eval_quad_node_3_l(vth_sqc); - vth_sq_c_r = ser_3x_p1_surfx3_eval_quad_node_3_r(vth_sqc); - vth_sq_r_l = ser_3x_p1_surfx3_eval_quad_node_3_l(vth_sqr); - vthQuad_l = fmax(sqrt(fabs(vth_sq_l_r)), sqrt(fabs(vth_sq_c_l))); - vthQuad_r = fmax(sqrt(fabs(vth_sq_c_r)), sqrt(fabs(vth_sq_r_l))); - max_speed_l = uQuad_l + vthQuad_l; - max_speed_r = uQuad_r + vthQuad_r; - rhoux_l_r = ser_3x_p1_surfx3_eval_quad_node_3_r(rhoux_l); - rhoux_c_l = ser_3x_p1_surfx3_eval_quad_node_3_l(rhoux_c); - rhoux_c_r = ser_3x_p1_surfx3_eval_quad_node_3_r(rhoux_c); - rhoux_r_l = ser_3x_p1_surfx3_eval_quad_node_3_l(rhoux_r); - rhouy_l_r = ser_3x_p1_surfx3_eval_quad_node_3_r(rhouy_l); - rhouy_c_l = ser_3x_p1_surfx3_eval_quad_node_3_l(rhouy_c); - rhouy_c_r = ser_3x_p1_surfx3_eval_quad_node_3_r(rhouy_c); - rhouy_r_l = ser_3x_p1_surfx3_eval_quad_node_3_l(rhouy_r); - rhouz_l_r = ser_3x_p1_surfx3_eval_quad_node_3_r(rhouz_l); - rhouz_c_l = ser_3x_p1_surfx3_eval_quad_node_3_l(rhouz_c); - rhouz_c_r = ser_3x_p1_surfx3_eval_quad_node_3_r(rhouz_c); - rhouz_r_l = ser_3x_p1_surfx3_eval_quad_node_3_l(rhouz_r); - lax_rhoux_quad_l[3] = 0.5*(rhoux_l_r*u_l_r + rhoux_c_l*u_c_l) - 0.5*max_speed_l*(rhoux_c_l - rhoux_l_r); - lax_rhoux_quad_r[3] = 0.5*(rhoux_c_r*u_c_r + rhoux_r_l*u_r_l) - 0.5*max_speed_r*(rhoux_r_l - rhoux_c_r); - lax_rhouy_quad_l[3] = 0.5*(rhouy_l_r*u_l_r + rhouy_c_l*u_c_l) - 0.5*max_speed_l*(rhouy_c_l - rhouy_l_r); - lax_rhouy_quad_r[3] = 0.5*(rhouy_c_r*u_c_r + rhouy_r_l*u_r_l) - 0.5*max_speed_r*(rhouy_r_l - rhouy_c_r); - lax_rhouz_quad_l[3] = 0.5*(rhouz_l_r*u_l_r + rhouz_c_l*u_c_l) - 0.5*max_speed_l*(rhouz_c_l - rhouz_l_r); - lax_rhouz_quad_r[3] = 0.5*(rhouz_c_r*u_c_r + rhouz_r_l*u_r_l) - 0.5*max_speed_r*(rhouz_r_l - rhouz_c_r); - - // Project tensor nodal quadrature basis back onto modal basis. - ser_3x_p1_upwind_quad_to_modal(lax_rhoux_quad_l, lax_rhoux_modal_l); - ser_3x_p1_upwind_quad_to_modal(lax_rhoux_quad_r, lax_rhoux_modal_r); - ser_3x_p1_upwind_quad_to_modal(lax_rhouy_quad_l, lax_rhouy_modal_l); - ser_3x_p1_upwind_quad_to_modal(lax_rhouy_quad_r, lax_rhouy_modal_r); - ser_3x_p1_upwind_quad_to_modal(lax_rhouz_quad_l, lax_rhouz_modal_l); - ser_3x_p1_upwind_quad_to_modal(lax_rhouz_quad_r, lax_rhouz_modal_r); - - outrhou0[0] += 0.7071067811865475*lax_rhoux_modal_l[0]*dx1-0.7071067811865475*lax_rhoux_modal_r[0]*dx1; - outrhou0[1] += 0.7071067811865475*lax_rhoux_modal_l[1]*dx1-0.7071067811865475*lax_rhoux_modal_r[1]*dx1; - outrhou0[2] += 0.7071067811865475*lax_rhoux_modal_l[2]*dx1-0.7071067811865475*lax_rhoux_modal_r[2]*dx1; - outrhou0[3] += (-1.224744871391589*lax_rhoux_modal_r[0]*dx1)-1.224744871391589*lax_rhoux_modal_l[0]*dx1; - outrhou0[4] += 0.7071067811865475*lax_rhoux_modal_l[3]*dx1-0.7071067811865475*lax_rhoux_modal_r[3]*dx1; - outrhou0[5] += (-1.224744871391589*lax_rhoux_modal_r[1]*dx1)-1.224744871391589*lax_rhoux_modal_l[1]*dx1; - outrhou0[6] += (-1.224744871391589*lax_rhoux_modal_r[2]*dx1)-1.224744871391589*lax_rhoux_modal_l[2]*dx1; - outrhou0[7] += (-1.224744871391589*lax_rhoux_modal_r[3]*dx1)-1.224744871391589*lax_rhoux_modal_l[3]*dx1; - - outrhou1[0] += 0.7071067811865475*lax_rhouy_modal_l[0]*dx1-0.7071067811865475*lax_rhouy_modal_r[0]*dx1; - outrhou1[1] += 0.7071067811865475*lax_rhouy_modal_l[1]*dx1-0.7071067811865475*lax_rhouy_modal_r[1]*dx1; - outrhou1[2] += 0.7071067811865475*lax_rhouy_modal_l[2]*dx1-0.7071067811865475*lax_rhouy_modal_r[2]*dx1; - outrhou1[3] += (-1.224744871391589*lax_rhouy_modal_r[0]*dx1)-1.224744871391589*lax_rhouy_modal_l[0]*dx1; - outrhou1[4] += 0.7071067811865475*lax_rhouy_modal_l[3]*dx1-0.7071067811865475*lax_rhouy_modal_r[3]*dx1; - outrhou1[5] += (-1.224744871391589*lax_rhouy_modal_r[1]*dx1)-1.224744871391589*lax_rhouy_modal_l[1]*dx1; - outrhou1[6] += (-1.224744871391589*lax_rhouy_modal_r[2]*dx1)-1.224744871391589*lax_rhouy_modal_l[2]*dx1; - outrhou1[7] += (-1.224744871391589*lax_rhouy_modal_r[3]*dx1)-1.224744871391589*lax_rhouy_modal_l[3]*dx1; - - outrhou2[0] += 0.7071067811865475*lax_rhouz_modal_l[0]*dx1-0.7071067811865475*lax_rhouz_modal_r[0]*dx1; - outrhou2[1] += 0.7071067811865475*lax_rhouz_modal_l[1]*dx1-0.7071067811865475*lax_rhouz_modal_r[1]*dx1; - outrhou2[2] += 0.7071067811865475*lax_rhouz_modal_l[2]*dx1-0.7071067811865475*lax_rhouz_modal_r[2]*dx1; - outrhou2[3] += (-1.224744871391589*lax_rhouz_modal_r[0]*dx1)-1.224744871391589*lax_rhouz_modal_l[0]*dx1; - outrhou2[4] += 0.7071067811865475*lax_rhouz_modal_l[3]*dx1-0.7071067811865475*lax_rhouz_modal_r[3]*dx1; - outrhou2[5] += (-1.224744871391589*lax_rhouz_modal_r[1]*dx1)-1.224744871391589*lax_rhouz_modal_l[1]*dx1; - outrhou2[6] += (-1.224744871391589*lax_rhouz_modal_r[2]*dx1)-1.224744871391589*lax_rhouz_modal_l[2]*dx1; - outrhou2[7] += (-1.224744871391589*lax_rhouz_modal_r[3]*dx1)-1.224744871391589*lax_rhouz_modal_l[3]*dx1; + + ul_r = ser_3x_p1_surfx3_eval_quad_node_0_r(u_l); + uc_l = ser_3x_p1_surfx3_eval_quad_node_0_l(u_c); + uc_r = ser_3x_p1_surfx3_eval_quad_node_0_r(u_c); + ur_l = ser_3x_p1_surfx3_eval_quad_node_0_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx3_eval_quad_node_0_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx3_eval_quad_node_0_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx3_eval_quad_node_0_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx3_eval_quad_node_0_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[0] = uQuad_l + vthQuad_l; + max_speed_quad_r[0] = uQuad_r + vthQuad_r; + ul_r = ser_3x_p1_surfx3_eval_quad_node_1_r(u_l); + uc_l = ser_3x_p1_surfx3_eval_quad_node_1_l(u_c); + uc_r = ser_3x_p1_surfx3_eval_quad_node_1_r(u_c); + ur_l = ser_3x_p1_surfx3_eval_quad_node_1_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx3_eval_quad_node_1_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx3_eval_quad_node_1_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx3_eval_quad_node_1_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx3_eval_quad_node_1_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[1] = uQuad_l + vthQuad_l; + max_speed_quad_r[1] = uQuad_r + vthQuad_r; + ul_r = ser_3x_p1_surfx3_eval_quad_node_2_r(u_l); + uc_l = ser_3x_p1_surfx3_eval_quad_node_2_l(u_c); + uc_r = ser_3x_p1_surfx3_eval_quad_node_2_r(u_c); + ur_l = ser_3x_p1_surfx3_eval_quad_node_2_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx3_eval_quad_node_2_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx3_eval_quad_node_2_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx3_eval_quad_node_2_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx3_eval_quad_node_2_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[2] = uQuad_l + vthQuad_l; + max_speed_quad_r[2] = uQuad_r + vthQuad_r; + ul_r = ser_3x_p1_surfx3_eval_quad_node_3_r(u_l); + uc_l = ser_3x_p1_surfx3_eval_quad_node_3_l(u_c); + uc_r = ser_3x_p1_surfx3_eval_quad_node_3_r(u_c); + ur_l = ser_3x_p1_surfx3_eval_quad_node_3_l(u_r); + uQuad_l = fmax(fabs(ul_r), fabs(uc_l)); + uQuad_r = fmax(fabs(uc_r), fabs(ur_l)); + vth_sql_r = ser_3x_p1_surfx3_eval_quad_node_3_r(vth_sql); + vth_sqc_l = ser_3x_p1_surfx3_eval_quad_node_3_l(vth_sqc); + vth_sqc_r = ser_3x_p1_surfx3_eval_quad_node_3_r(vth_sqc); + vth_sqr_l = ser_3x_p1_surfx3_eval_quad_node_3_l(vth_sqr); + vthQuad_l = fmax(sqrt(fabs(vth_sql_r)), sqrt(fabs(vth_sqc_l))); + vthQuad_r = fmax(sqrt(fabs(vth_sqc_r)), sqrt(fabs(vth_sqr_l))); + max_speed_quad_l[3] = uQuad_l + vthQuad_l; + max_speed_quad_r[3] = uQuad_r + vthQuad_r; + ser_3x_p1_upwind_quad_to_modal(max_speed_quad_l, max_speed_modal_l); + ser_3x_p1_upwind_quad_to_modal(max_speed_quad_r, max_speed_modal_r); + outrhou0[0] += 0.3535533905932737*jump_rhoux_r[3]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[3]*max_speed_modal_l[3]*dx1-0.3535533905932737*avg_ux_r[3]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[3]*flux_rho_l[3]*dx1+0.3535533905932737*jump_rhoux_r[2]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhoux_l[2]*max_speed_modal_l[2]*dx1-0.3535533905932737*avg_ux_r[2]*flux_rho_r[2]*dx1+0.3535533905932737*avg_ux_l[2]*flux_rho_l[2]*dx1+0.3535533905932737*jump_rhoux_r[1]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhoux_l[1]*max_speed_modal_l[1]*dx1-0.3535533905932737*avg_ux_r[1]*flux_rho_r[1]*dx1+0.3535533905932737*avg_ux_l[1]*flux_rho_l[1]*dx1+0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[0]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[0]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[0]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[0]*dx1; + outrhou0[1] += 0.3535533905932737*jump_rhoux_r[2]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[2]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[2]*jump_rhoux_r[3]*dx1-0.3535533905932737*max_speed_modal_l[2]*jump_rhoux_l[3]*dx1-0.3535533905932737*avg_ux_r[2]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[2]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[2]*avg_ux_r[3]*dx1+0.3535533905932737*flux_rho_l[2]*avg_ux_l[3]*dx1+0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[1]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhoux_r[1]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhoux_l[1]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[1]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[1]*dx1-0.3535533905932737*flux_rho_r[0]*avg_ux_r[1]*dx1+0.3535533905932737*flux_rho_l[0]*avg_ux_l[1]*dx1; + outrhou0[2] += 0.3535533905932737*jump_rhoux_r[1]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[1]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhoux_r[3]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhoux_l[3]*dx1-0.3535533905932737*avg_ux_r[1]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[1]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[1]*avg_ux_r[3]*dx1+0.3535533905932737*flux_rho_l[1]*avg_ux_l[3]*dx1+0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhoux_r[2]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhoux_l[2]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[2]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[0]*avg_ux_r[2]*dx1+0.3535533905932737*flux_rho_l[0]*avg_ux_l[2]*dx1; + outrhou0[3] += 0.6123724356957944*jump_rhoux_r[3]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[3]*max_speed_modal_l[3]*dx1-0.6123724356957944*avg_ux_r[3]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[3]*flux_rho_l[3]*dx1+0.6123724356957944*jump_rhoux_r[2]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhoux_l[2]*max_speed_modal_l[2]*dx1-0.6123724356957944*avg_ux_r[2]*flux_rho_r[2]*dx1-0.6123724356957944*avg_ux_l[2]*flux_rho_l[2]*dx1+0.6123724356957944*jump_rhoux_r[1]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhoux_l[1]*max_speed_modal_l[1]*dx1-0.6123724356957944*avg_ux_r[1]*flux_rho_r[1]*dx1-0.6123724356957944*avg_ux_l[1]*flux_rho_l[1]*dx1+0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[0]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[0]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[0]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[0]*dx1; + outrhou0[4] += 0.3535533905932737*jump_rhoux_r[0]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhoux_l[0]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhoux_r[3]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhoux_l[3]*dx1-0.3535533905932737*avg_ux_r[0]*flux_rho_r[3]*dx1+0.3535533905932737*avg_ux_l[0]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[0]*avg_ux_r[3]*dx1+0.3535533905932737*flux_rho_l[0]*avg_ux_l[3]*dx1+0.3535533905932737*jump_rhoux_r[1]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhoux_l[1]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhoux_r[2]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhoux_l[2]*dx1-0.3535533905932737*avg_ux_r[1]*flux_rho_r[2]*dx1+0.3535533905932737*avg_ux_l[1]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[1]*avg_ux_r[2]*dx1+0.3535533905932737*flux_rho_l[1]*avg_ux_l[2]*dx1; + outrhou0[5] += 0.6123724356957944*jump_rhoux_r[2]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[2]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[2]*jump_rhoux_r[3]*dx1+0.6123724356957944*max_speed_modal_l[2]*jump_rhoux_l[3]*dx1-0.6123724356957944*avg_ux_r[2]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[2]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[2]*avg_ux_r[3]*dx1-0.6123724356957944*flux_rho_l[2]*avg_ux_l[3]*dx1+0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[1]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhoux_r[1]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhoux_l[1]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[1]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[1]*dx1-0.6123724356957944*flux_rho_r[0]*avg_ux_r[1]*dx1-0.6123724356957944*flux_rho_l[0]*avg_ux_l[1]*dx1; + outrhou0[6] += 0.6123724356957944*jump_rhoux_r[1]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[1]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhoux_r[3]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhoux_l[3]*dx1-0.6123724356957944*avg_ux_r[1]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[1]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[1]*avg_ux_r[3]*dx1-0.6123724356957944*flux_rho_l[1]*avg_ux_l[3]*dx1+0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhoux_r[2]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhoux_l[2]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[2]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[0]*avg_ux_r[2]*dx1-0.6123724356957944*flux_rho_l[0]*avg_ux_l[2]*dx1; + outrhou0[7] += 0.6123724356957944*jump_rhoux_r[0]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhoux_l[0]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhoux_r[3]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhoux_l[3]*dx1-0.6123724356957944*avg_ux_r[0]*flux_rho_r[3]*dx1-0.6123724356957944*avg_ux_l[0]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[0]*avg_ux_r[3]*dx1-0.6123724356957944*flux_rho_l[0]*avg_ux_l[3]*dx1+0.6123724356957944*jump_rhoux_r[1]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhoux_l[1]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhoux_r[2]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhoux_l[2]*dx1-0.6123724356957944*avg_ux_r[1]*flux_rho_r[2]*dx1-0.6123724356957944*avg_ux_l[1]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[1]*avg_ux_r[2]*dx1-0.6123724356957944*flux_rho_l[1]*avg_ux_l[2]*dx1; + + outrhou1[0] += 0.3535533905932737*jump_rhouy_r[3]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[3]*max_speed_modal_l[3]*dx1-0.3535533905932737*avg_uy_r[3]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[3]*flux_rho_l[3]*dx1+0.3535533905932737*jump_rhouy_r[2]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouy_l[2]*max_speed_modal_l[2]*dx1-0.3535533905932737*avg_uy_r[2]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uy_l[2]*flux_rho_l[2]*dx1+0.3535533905932737*jump_rhouy_r[1]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouy_l[1]*max_speed_modal_l[1]*dx1-0.3535533905932737*avg_uy_r[1]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uy_l[1]*flux_rho_l[1]*dx1+0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[0]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[0]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[0]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[0]*dx1; + outrhou1[1] += 0.3535533905932737*jump_rhouy_r[2]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[2]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[2]*jump_rhouy_r[3]*dx1-0.3535533905932737*max_speed_modal_l[2]*jump_rhouy_l[3]*dx1-0.3535533905932737*avg_uy_r[2]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[2]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[2]*avg_uy_r[3]*dx1+0.3535533905932737*flux_rho_l[2]*avg_uy_l[3]*dx1+0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[1]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouy_r[1]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouy_l[1]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[1]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uy_r[1]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uy_l[1]*dx1; + outrhou1[2] += 0.3535533905932737*jump_rhouy_r[1]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[1]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouy_r[3]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouy_l[3]*dx1-0.3535533905932737*avg_uy_r[1]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[1]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uy_r[3]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uy_l[3]*dx1+0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouy_r[2]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouy_l[2]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uy_r[2]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uy_l[2]*dx1; + outrhou1[3] += 0.6123724356957944*jump_rhouy_r[3]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[3]*max_speed_modal_l[3]*dx1-0.6123724356957944*avg_uy_r[3]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[3]*flux_rho_l[3]*dx1+0.6123724356957944*jump_rhouy_r[2]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouy_l[2]*max_speed_modal_l[2]*dx1-0.6123724356957944*avg_uy_r[2]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uy_l[2]*flux_rho_l[2]*dx1+0.6123724356957944*jump_rhouy_r[1]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouy_l[1]*max_speed_modal_l[1]*dx1-0.6123724356957944*avg_uy_r[1]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uy_l[1]*flux_rho_l[1]*dx1+0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[0]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[0]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[0]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[0]*dx1; + outrhou1[4] += 0.3535533905932737*jump_rhouy_r[0]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouy_l[0]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouy_r[3]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouy_l[3]*dx1-0.3535533905932737*avg_uy_r[0]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uy_l[0]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uy_r[3]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uy_l[3]*dx1+0.3535533905932737*jump_rhouy_r[1]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouy_l[1]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouy_r[2]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouy_l[2]*dx1-0.3535533905932737*avg_uy_r[1]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uy_l[1]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uy_r[2]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uy_l[2]*dx1; + outrhou1[5] += 0.6123724356957944*jump_rhouy_r[2]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[2]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[2]*jump_rhouy_r[3]*dx1+0.6123724356957944*max_speed_modal_l[2]*jump_rhouy_l[3]*dx1-0.6123724356957944*avg_uy_r[2]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[2]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[2]*avg_uy_r[3]*dx1-0.6123724356957944*flux_rho_l[2]*avg_uy_l[3]*dx1+0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[1]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouy_r[1]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouy_l[1]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[1]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uy_r[1]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uy_l[1]*dx1; + outrhou1[6] += 0.6123724356957944*jump_rhouy_r[1]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[1]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouy_r[3]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouy_l[3]*dx1-0.6123724356957944*avg_uy_r[1]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[1]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uy_r[3]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uy_l[3]*dx1+0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouy_r[2]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouy_l[2]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uy_r[2]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uy_l[2]*dx1; + outrhou1[7] += 0.6123724356957944*jump_rhouy_r[0]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouy_l[0]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouy_r[3]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouy_l[3]*dx1-0.6123724356957944*avg_uy_r[0]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uy_l[0]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uy_r[3]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uy_l[3]*dx1+0.6123724356957944*jump_rhouy_r[1]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouy_l[1]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouy_r[2]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouy_l[2]*dx1-0.6123724356957944*avg_uy_r[1]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uy_l[1]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uy_r[2]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uy_l[2]*dx1; + + outrhou2[0] += 0.3535533905932737*jump_rhouz_r[3]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[3]*max_speed_modal_l[3]*dx1-0.3535533905932737*avg_uz_r[3]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[3]*flux_rho_l[3]*dx1+0.3535533905932737*jump_rhouz_r[2]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouz_l[2]*max_speed_modal_l[2]*dx1-0.3535533905932737*avg_uz_r[2]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uz_l[2]*flux_rho_l[2]*dx1+0.3535533905932737*jump_rhouz_r[1]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouz_l[1]*max_speed_modal_l[1]*dx1-0.3535533905932737*avg_uz_r[1]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uz_l[1]*flux_rho_l[1]*dx1+0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[0]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[0]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[0]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[0]*dx1; + outrhou2[1] += 0.3535533905932737*jump_rhouz_r[2]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[2]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[2]*jump_rhouz_r[3]*dx1-0.3535533905932737*max_speed_modal_l[2]*jump_rhouz_l[3]*dx1-0.3535533905932737*avg_uz_r[2]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[2]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[2]*avg_uz_r[3]*dx1+0.3535533905932737*flux_rho_l[2]*avg_uz_l[3]*dx1+0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[1]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[1]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouz_r[1]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouz_l[1]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[1]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[1]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uz_r[1]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uz_l[1]*dx1; + outrhou2[2] += 0.3535533905932737*jump_rhouz_r[1]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[1]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouz_r[3]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouz_l[3]*dx1-0.3535533905932737*avg_uz_r[1]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[1]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uz_r[3]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uz_l[3]*dx1+0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouz_r[2]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouz_l[2]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uz_r[2]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uz_l[2]*dx1; + outrhou2[3] += 0.6123724356957944*jump_rhouz_r[3]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[3]*max_speed_modal_l[3]*dx1-0.6123724356957944*avg_uz_r[3]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[3]*flux_rho_l[3]*dx1+0.6123724356957944*jump_rhouz_r[2]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouz_l[2]*max_speed_modal_l[2]*dx1-0.6123724356957944*avg_uz_r[2]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uz_l[2]*flux_rho_l[2]*dx1+0.6123724356957944*jump_rhouz_r[1]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouz_l[1]*max_speed_modal_l[1]*dx1-0.6123724356957944*avg_uz_r[1]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uz_l[1]*flux_rho_l[1]*dx1+0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[0]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[0]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[0]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[0]*dx1; + outrhou2[4] += 0.3535533905932737*jump_rhouz_r[0]*max_speed_modal_r[3]*dx1-0.3535533905932737*jump_rhouz_l[0]*max_speed_modal_l[3]*dx1+0.3535533905932737*max_speed_modal_r[0]*jump_rhouz_r[3]*dx1-0.3535533905932737*max_speed_modal_l[0]*jump_rhouz_l[3]*dx1-0.3535533905932737*avg_uz_r[0]*flux_rho_r[3]*dx1+0.3535533905932737*avg_uz_l[0]*flux_rho_l[3]*dx1-0.3535533905932737*flux_rho_r[0]*avg_uz_r[3]*dx1+0.3535533905932737*flux_rho_l[0]*avg_uz_l[3]*dx1+0.3535533905932737*jump_rhouz_r[1]*max_speed_modal_r[2]*dx1-0.3535533905932737*jump_rhouz_l[1]*max_speed_modal_l[2]*dx1+0.3535533905932737*max_speed_modal_r[1]*jump_rhouz_r[2]*dx1-0.3535533905932737*max_speed_modal_l[1]*jump_rhouz_l[2]*dx1-0.3535533905932737*avg_uz_r[1]*flux_rho_r[2]*dx1+0.3535533905932737*avg_uz_l[1]*flux_rho_l[2]*dx1-0.3535533905932737*flux_rho_r[1]*avg_uz_r[2]*dx1+0.3535533905932737*flux_rho_l[1]*avg_uz_l[2]*dx1; + outrhou2[5] += 0.6123724356957944*jump_rhouz_r[2]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[2]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[2]*jump_rhouz_r[3]*dx1+0.6123724356957944*max_speed_modal_l[2]*jump_rhouz_l[3]*dx1-0.6123724356957944*avg_uz_r[2]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[2]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[2]*avg_uz_r[3]*dx1-0.6123724356957944*flux_rho_l[2]*avg_uz_l[3]*dx1+0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[1]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[1]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouz_r[1]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouz_l[1]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[1]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[1]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uz_r[1]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uz_l[1]*dx1; + outrhou2[6] += 0.6123724356957944*jump_rhouz_r[1]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[1]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouz_r[3]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouz_l[3]*dx1-0.6123724356957944*avg_uz_r[1]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[1]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uz_r[3]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uz_l[3]*dx1+0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouz_r[2]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouz_l[2]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uz_r[2]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uz_l[2]*dx1; + outrhou2[7] += 0.6123724356957944*jump_rhouz_r[0]*max_speed_modal_r[3]*dx1+0.6123724356957944*jump_rhouz_l[0]*max_speed_modal_l[3]*dx1+0.6123724356957944*max_speed_modal_r[0]*jump_rhouz_r[3]*dx1+0.6123724356957944*max_speed_modal_l[0]*jump_rhouz_l[3]*dx1-0.6123724356957944*avg_uz_r[0]*flux_rho_r[3]*dx1-0.6123724356957944*avg_uz_l[0]*flux_rho_l[3]*dx1-0.6123724356957944*flux_rho_r[0]*avg_uz_r[3]*dx1-0.6123724356957944*flux_rho_l[0]*avg_uz_l[3]*dx1+0.6123724356957944*jump_rhouz_r[1]*max_speed_modal_r[2]*dx1+0.6123724356957944*jump_rhouz_l[1]*max_speed_modal_l[2]*dx1+0.6123724356957944*max_speed_modal_r[1]*jump_rhouz_r[2]*dx1+0.6123724356957944*max_speed_modal_l[1]*jump_rhouz_l[2]*dx1-0.6123724356957944*avg_uz_r[1]*flux_rho_r[2]*dx1-0.6123724356957944*avg_uz_l[1]*flux_rho_l[2]*dx1-0.6123724356957944*flux_rho_r[1]*avg_uz_r[2]*dx1-0.6123724356957944*flux_rho_l[1]*avg_uz_l[2]*dx1; + + return 0.; } diff --git a/kernels/pkpm/gkyl_euler_pkpm_kernels.h b/kernels/pkpm/gkyl_euler_pkpm_kernels.h index a6318b75e..7281d372e 100644 --- a/kernels/pkpm/gkyl_euler_pkpm_kernels.h +++ b/kernels/pkpm/gkyl_euler_pkpm_kernels.h @@ -13,17 +13,18 @@ GKYL_CU_DH void pkpm_dist_mirror_force_1x1v_ser_p1(const double *w, const double const double* f, const double* F_k_p_1, double* g_dist_source, double* F_k_m_1); GKYL_CU_DH void euler_pkpm_recovery_x_1x_ser_p1(const double *dxv, double nuHyp, - const double *bvarl, const double *bvarc, const double *bvarr, - const double *u_il, const double *u_ic, const double *u_ir, - const double *p_ijl, const double *p_ijc, const double *p_ijr, - const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, - const double *statevecl, const double *statevecc, const double *statevecr, - const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, - double* div_p, double* pkpm_accel_vars); -GKYL_CU_DH void euler_pkpm_surfx_1x_ser_p1(const double *w, const double *dxv, - const double *u_il, const double *u_ic, const double *u_ir, - const double *T_ijl, const double *T_ijc, const double *T_ijr, - const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); + const double *bvarl, const double *bvarc, const double *bvarr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *p_ijl, const double *p_ijc, const double *p_ijr, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *statevecl, const double *statevecc, const double *statevecr, + const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, + double* div_p, double* pkpm_accel_vars); +GKYL_CU_DH double euler_pkpm_surfx_1x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *T_ijl, const double *T_ijc, const double *T_ijr, + const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); GKYL_CU_DH void euler_pkpm_prim_vars_1x_ser_p2(const double *bvar, const double *vlasov_pkpm_moms, const double *statevec, double* u_i, double* p_ij, double* T_ij, double* rho_inv, double* T_perp_over_m, double* T_perp_over_m_inv); @@ -35,17 +36,18 @@ GKYL_CU_DH void pkpm_dist_mirror_force_1x1v_ser_p2(const double *w, const double const double* f, const double* F_k_p_1, double* g_dist_source, double* F_k_m_1); GKYL_CU_DH void euler_pkpm_recovery_x_1x_ser_p2(const double *dxv, double nuHyp, - const double *bvarl, const double *bvarc, const double *bvarr, - const double *u_il, const double *u_ic, const double *u_ir, - const double *p_ijl, const double *p_ijc, const double *p_ijr, - const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, - const double *statevecl, const double *statevecc, const double *statevecr, - const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, - double* div_p, double* pkpm_accel_vars); -GKYL_CU_DH void euler_pkpm_surfx_1x_ser_p2(const double *w, const double *dxv, - const double *u_il, const double *u_ic, const double *u_ir, - const double *T_ijl, const double *T_ijc, const double *T_ijr, - const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); + const double *bvarl, const double *bvarc, const double *bvarr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *p_ijl, const double *p_ijc, const double *p_ijr, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *statevecl, const double *statevecc, const double *statevecr, + const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, + double* div_p, double* pkpm_accel_vars); +GKYL_CU_DH double euler_pkpm_surfx_1x_ser_p2(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *T_ijl, const double *T_ijc, const double *T_ijr, + const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); GKYL_CU_DH void euler_pkpm_prim_vars_2x_ser_p1(const double *bvar, const double *vlasov_pkpm_moms, const double *statevec, double* u_i, double* p_ij, double* T_ij, double* rho_inv, double* T_perp_over_m, double* T_perp_over_m_inv); @@ -57,29 +59,31 @@ GKYL_CU_DH void pkpm_dist_mirror_force_2x1v_ser_p1(const double *w, const double const double* f, const double* F_k_p_1, double* g_dist_source, double* F_k_m_1); GKYL_CU_DH void euler_pkpm_recovery_x_2x_ser_p1(const double *dxv, double nuHyp, - const double *bvarl, const double *bvarc, const double *bvarr, - const double *u_il, const double *u_ic, const double *u_ir, - const double *p_ijl, const double *p_ijc, const double *p_ijr, - const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, - const double *statevecl, const double *statevecc, const double *statevecr, - const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, - double* div_p, double* pkpm_accel_vars); -GKYL_CU_DH void euler_pkpm_surfx_2x_ser_p1(const double *w, const double *dxv, - const double *u_il, const double *u_ic, const double *u_ir, - const double *T_ijl, const double *T_ijc, const double *T_ijr, - const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); + const double *bvarl, const double *bvarc, const double *bvarr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *p_ijl, const double *p_ijc, const double *p_ijr, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *statevecl, const double *statevecc, const double *statevecr, + const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, + double* div_p, double* pkpm_accel_vars); +GKYL_CU_DH double euler_pkpm_surfx_2x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *T_ijl, const double *T_ijc, const double *T_ijr, + const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); GKYL_CU_DH void euler_pkpm_recovery_y_2x_ser_p1(const double *dxv, double nuHyp, - const double *bvarl, const double *bvarc, const double *bvarr, - const double *u_il, const double *u_ic, const double *u_ir, - const double *p_ijl, const double *p_ijc, const double *p_ijr, - const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, - const double *statevecl, const double *statevecc, const double *statevecr, - const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, - double* div_p, double* pkpm_accel_vars); -GKYL_CU_DH void euler_pkpm_surfy_2x_ser_p1(const double *w, const double *dxv, - const double *u_il, const double *u_ic, const double *u_ir, - const double *T_ijl, const double *T_ijc, const double *T_ijr, - const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); + const double *bvarl, const double *bvarc, const double *bvarr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *p_ijl, const double *p_ijc, const double *p_ijr, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *statevecl, const double *statevecc, const double *statevecr, + const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, + double* div_p, double* pkpm_accel_vars); +GKYL_CU_DH double euler_pkpm_surfy_2x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *T_ijl, const double *T_ijc, const double *T_ijr, + const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); GKYL_CU_DH void euler_pkpm_prim_vars_2x_ser_p2(const double *bvar, const double *vlasov_pkpm_moms, const double *statevec, double* u_i, double* p_ij, double* T_ij, double* rho_inv, double* T_perp_over_m, double* T_perp_over_m_inv); @@ -91,29 +95,31 @@ GKYL_CU_DH void pkpm_dist_mirror_force_2x1v_ser_p2(const double *w, const double const double* f, const double* F_k_p_1, double* g_dist_source, double* F_k_m_1); GKYL_CU_DH void euler_pkpm_recovery_x_2x_ser_p2(const double *dxv, double nuHyp, - const double *bvarl, const double *bvarc, const double *bvarr, - const double *u_il, const double *u_ic, const double *u_ir, - const double *p_ijl, const double *p_ijc, const double *p_ijr, - const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, - const double *statevecl, const double *statevecc, const double *statevecr, - const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, - double* div_p, double* pkpm_accel_vars); -GKYL_CU_DH void euler_pkpm_surfx_2x_ser_p2(const double *w, const double *dxv, - const double *u_il, const double *u_ic, const double *u_ir, - const double *T_ijl, const double *T_ijc, const double *T_ijr, - const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); + const double *bvarl, const double *bvarc, const double *bvarr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *p_ijl, const double *p_ijc, const double *p_ijr, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *statevecl, const double *statevecc, const double *statevecr, + const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, + double* div_p, double* pkpm_accel_vars); +GKYL_CU_DH double euler_pkpm_surfx_2x_ser_p2(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *T_ijl, const double *T_ijc, const double *T_ijr, + const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); GKYL_CU_DH void euler_pkpm_recovery_y_2x_ser_p2(const double *dxv, double nuHyp, - const double *bvarl, const double *bvarc, const double *bvarr, - const double *u_il, const double *u_ic, const double *u_ir, - const double *p_ijl, const double *p_ijc, const double *p_ijr, - const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, - const double *statevecl, const double *statevecc, const double *statevecr, - const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, - double* div_p, double* pkpm_accel_vars); -GKYL_CU_DH void euler_pkpm_surfy_2x_ser_p2(const double *w, const double *dxv, - const double *u_il, const double *u_ic, const double *u_ir, - const double *T_ijl, const double *T_ijc, const double *T_ijr, - const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); + const double *bvarl, const double *bvarc, const double *bvarr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *p_ijl, const double *p_ijc, const double *p_ijr, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *statevecl, const double *statevecc, const double *statevecr, + const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, + double* div_p, double* pkpm_accel_vars); +GKYL_CU_DH double euler_pkpm_surfy_2x_ser_p2(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *T_ijl, const double *T_ijc, const double *T_ijr, + const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); GKYL_CU_DH void euler_pkpm_prim_vars_3x_ser_p1(const double *bvar, const double *vlasov_pkpm_moms, const double *statevec, double* u_i, double* p_ij, double* T_ij, double* rho_inv, double* T_perp_over_m, double* T_perp_over_m_inv); @@ -125,40 +131,43 @@ GKYL_CU_DH void pkpm_dist_mirror_force_3x1v_ser_p1(const double *w, const double const double* f, const double* F_k_p_1, double* g_dist_source, double* F_k_m_1); GKYL_CU_DH void euler_pkpm_recovery_x_3x_ser_p1(const double *dxv, double nuHyp, - const double *bvarl, const double *bvarc, const double *bvarr, - const double *u_il, const double *u_ic, const double *u_ir, - const double *p_ijl, const double *p_ijc, const double *p_ijr, - const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, - const double *statevecl, const double *statevecc, const double *statevecr, - const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, - double* div_p, double* pkpm_accel_vars); -GKYL_CU_DH void euler_pkpm_surfx_3x_ser_p1(const double *w, const double *dxv, - const double *u_il, const double *u_ic, const double *u_ir, - const double *T_ijl, const double *T_ijc, const double *T_ijr, - const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); + const double *bvarl, const double *bvarc, const double *bvarr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *p_ijl, const double *p_ijc, const double *p_ijr, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *statevecl, const double *statevecc, const double *statevecr, + const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, + double* div_p, double* pkpm_accel_vars); +GKYL_CU_DH double euler_pkpm_surfx_3x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *T_ijl, const double *T_ijc, const double *T_ijr, + const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); GKYL_CU_DH void euler_pkpm_recovery_y_3x_ser_p1(const double *dxv, double nuHyp, - const double *bvarl, const double *bvarc, const double *bvarr, - const double *u_il, const double *u_ic, const double *u_ir, - const double *p_ijl, const double *p_ijc, const double *p_ijr, - const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, - const double *statevecl, const double *statevecc, const double *statevecr, - const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, - double* div_p, double* pkpm_accel_vars); -GKYL_CU_DH void euler_pkpm_surfy_3x_ser_p1(const double *w, const double *dxv, - const double *u_il, const double *u_ic, const double *u_ir, - const double *T_ijl, const double *T_ijc, const double *T_ijr, - const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); + const double *bvarl, const double *bvarc, const double *bvarr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *p_ijl, const double *p_ijc, const double *p_ijr, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *statevecl, const double *statevecc, const double *statevecr, + const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, + double* div_p, double* pkpm_accel_vars); +GKYL_CU_DH double euler_pkpm_surfy_3x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *T_ijl, const double *T_ijc, const double *T_ijr, + const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); GKYL_CU_DH void euler_pkpm_recovery_z_3x_ser_p1(const double *dxv, double nuHyp, - const double *bvarl, const double *bvarc, const double *bvarr, - const double *u_il, const double *u_ic, const double *u_ir, - const double *p_ijl, const double *p_ijc, const double *p_ijr, - const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, - const double *statevecl, const double *statevecc, const double *statevecr, - const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, - double* div_p, double* pkpm_accel_vars); -GKYL_CU_DH void euler_pkpm_surfz_3x_ser_p1(const double *w, const double *dxv, - const double *u_il, const double *u_ic, const double *u_ir, - const double *T_ijl, const double *T_ijc, const double *T_ijr, - const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); + const double *bvarl, const double *bvarc, const double *bvarr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *p_ijl, const double *p_ijc, const double *p_ijr, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *statevecl, const double *statevecc, const double *statevecr, + const double *rho_inv, const double *T_perp_over_m, const double *T_perp_over_m_inv, const double *nu, + double* div_p, double* pkpm_accel_vars); +GKYL_CU_DH double euler_pkpm_surfz_3x_ser_p1(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, + const double *u_il, const double *u_ic, const double *u_ir, + const double *T_ijl, const double *T_ijc, const double *T_ijr, + const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); EXTERN_C_END diff --git a/zero/gkyl_dg_euler_pkpm.h b/zero/gkyl_dg_euler_pkpm.h index 7833b9d70..810b2c60d 100644 --- a/zero/gkyl_dg_euler_pkpm.h +++ b/zero/gkyl_dg_euler_pkpm.h @@ -9,6 +9,7 @@ // Struct containing the pointers to auxiliary fields. struct gkyl_dg_euler_pkpm_auxfields { + const struct gkyl_array *moms; const struct gkyl_array *u_i; const struct gkyl_array *div_p; const struct gkyl_array *vth_sq; diff --git a/zero/gkyl_dg_euler_pkpm_priv.h b/zero/gkyl_dg_euler_pkpm_priv.h index 576fd05e6..8b9ed6772 100644 --- a/zero/gkyl_dg_euler_pkpm_priv.h +++ b/zero/gkyl_dg_euler_pkpm_priv.h @@ -8,9 +8,10 @@ // functions // Types for various kernels -typedef double (*euler_pkpm_surf_t)(const double *w, const double *dx, +typedef double (*euler_pkpm_surf_t)(const double *w, const double *dxv, + const double *vlasov_pkpm_momsl, const double *vlasov_pkpm_momsc, const double *vlasov_pkpm_momsr, const double *u_il, const double *u_ic, const double *u_ir, - const double *vth_sql, const double *vth_sqc, const double *vth_sqr, + const double *T_ijl, const double *T_ijc, const double *T_ijr, const double *statevecl, const double *statevecc, const double *statevecr, double* GKYL_RESTRICT out); @@ -145,6 +146,9 @@ surf(const struct gkyl_dg_eqn *eqn, (const double*) gkyl_array_cfetch(euler_pkpm->auxfields.u_i, cidx_l), (const double*) gkyl_array_cfetch(euler_pkpm->auxfields.u_i, cidx_c), (const double*) gkyl_array_cfetch(euler_pkpm->auxfields.u_i, cidx_r), + (const double*) gkyl_array_cfetch(euler_pkpm->auxfields.moms, cidx_l), + (const double*) gkyl_array_cfetch(euler_pkpm->auxfields.moms, cidx_c), + (const double*) gkyl_array_cfetch(euler_pkpm->auxfields.moms, cidx_r), (const double*) gkyl_array_cfetch(euler_pkpm->auxfields.vth_sq, cidx_l), (const double*) gkyl_array_cfetch(euler_pkpm->auxfields.vth_sq, cidx_c), (const double*) gkyl_array_cfetch(euler_pkpm->auxfields.vth_sq, cidx_r),